XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

SpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 1 Star 0
返回提交历史

XFEstudio/SpaceNinjaServer

fix: use remastered operator suit when sending kiss email for post-U41 (#3715)

Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3715 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

0703b672
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

2 个文件 +41 -15
Modified src/controllers/api/inventoryController.ts +7 -2
@@ -218,7 +218,7 @@ export const inventoryController: RequestHandler = async (request, response) =>
218 218 const dialogue = inventory.DialogueHistory.Dialogues.find(x => x.DialogueName == dialogueName);
219 219 if (dialogue) {
220 220 if (dialogue.Rank == 7) {
221 await addEmailItem(inventory, kissEmail);
221 await addEmailItem(inventory, kissEmail, {}, account.BuildLabel);
222 222 kalymos = false;
223 223 break;
224 224 }
@@ -228,7 +228,12 @@ export const inventoryController: RequestHandler = async (request, response) =>
228 228 }
229 229 }
230 230 if (kalymos) {
231 await addEmailItem(inventory, "/Lotus/Types/Items/EmailItems/KalymosKissEmailItem");
231 await addEmailItem(
232 inventory,
233 "/Lotus/Types/Items/EmailItems/KalymosKissEmailItem",
234 {},
235 account.BuildLabel
236 );
232 237 }
233 238 }
234 239
Modified src/services/inventoryService.ts +34 -13
@@ -2105,7 +2105,8 @@ const addCrewMember = (
2105 2105 export const addEmailItem = async (
2106 2106 inventory: TInventoryDatabaseDocument,
2107 2107 typeName: string,
2108 inventoryChanges: IInventoryChanges = {}
2108 inventoryChanges: IInventoryChanges = {},
2109 buildLabel?: string
2109 2110 ): Promise<IInventoryChanges> => {
2110 2111 const meta = ExportEmailItems[typeName];
2111 2112 const emailItem = inventory.EmailItems.find(x => x.ItemType == typeName);
@@ -2115,18 +2116,38 @@ export const addEmailItem = async (
2115 2116 msg.cinematic == "/Lotus/Levels/1999/PlayerHomeBalconyCinematics.level" ||
2116 2117 msg.cinematic == "/Lotus/Levels/EntratiLab/TriadRomanceCinematics.level"
2117 2118 ) {
2118 msg.customData = JSON.stringify({
2119 Tag: msg.customData + "KissCin",
2120 CinLoadout: {
2121 Skins: inventory.AdultOperatorLoadOuts[0].Skins,
2122 Upgrades: inventory.AdultOperatorLoadOuts[0].Upgrades,
2123 attcol: inventory.AdultOperatorLoadOuts[0].attcol,
2124 cloth: inventory.AdultOperatorLoadOuts[0].cloth,
2125 eyecol: inventory.AdultOperatorLoadOuts[0].eyecol,
2126 pricol: inventory.AdultOperatorLoadOuts[0].pricol,
2127 syancol: inventory.AdultOperatorLoadOuts[0].syancol
2128 }
2129 });
2119 if (buildLabel && version_compare(buildLabel, gameToBuildVersion["41.0.0"]) < 0) {
2120 msg.customData = JSON.stringify({
2121 Tag: msg.customData + "KissCin",
2122 CinLoadout: {
2123 Skins: inventory.AdultOperatorLoadOuts[0].Skins,
2124 Upgrades: inventory.AdultOperatorLoadOuts[0].Upgrades,
2125 attcol: inventory.AdultOperatorLoadOuts[0].attcol,
2126 cloth: inventory.AdultOperatorLoadOuts[0].cloth,
2127 eyecol: inventory.AdultOperatorLoadOuts[0].eyecol,
2128 pricol: inventory.AdultOperatorLoadOuts[0].pricol,
2129 syancol: inventory.AdultOperatorLoadOuts[0].syancol
2130 }
2131 });
2132 } else {
2133 const postRemasterAdultOperator =
2134 inventory.OperatorSuits.find(
2135 x => x.ItemType == "/Lotus/Powersuits/Operator/AdultOperatorSuitRemaster"
2136 // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
2137 )?.Configs?.[0] ?? {};
2138 msg.customData = JSON.stringify({
2139 Tag: msg.customData + "KissCin",
2140 CinLoadout: {
2141 Skins: postRemasterAdultOperator.Skins,
2142 Upgrades: postRemasterAdultOperator.Upgrades,
2143 attcol: postRemasterAdultOperator.attcol,
2144 cloth: postRemasterAdultOperator.cloth,
2145 eyecol: postRemasterAdultOperator.eyecol,
2146 pricol: postRemasterAdultOperator.pricol,
2147 syancol: postRemasterAdultOperator.syancol
2148 }
2149 });
2150 }
2130 2151 }
2131 2152 await createMessage(inventory.accountOwnerId, [msg]);
2132 2153