From 57b66de634bdf0b80be56952d362b30f27f89fa0 Mon Sep 17 00:00:00 2001 From: Frankly George <54015-franklygeorge@users.noreply.gitgud.io> Date: Thu, 3 Oct 2024 00:43:20 +0000 Subject: [PATCH] Fix 5426 --- src/002-config/fc-version.js | 2 +- src/cheats/cheatEditActor.js | 7 +++++-- .../releases/1265_fixSlavesBeingDetecedAsTankSlaves.js | 10 ++++++++++ src/facilities/facilityRetrievalWorkaround.js | 4 +++- 4 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 src/data/patches/releases/1265_fixSlavesBeingDetecedAsTankSlaves.js diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js index 92a02befb44..e8d4759972f 100644 --- a/src/002-config/fc-version.js +++ b/src/002-config/fc-version.js @@ -10,5 +10,5 @@ App.Version = { * The release numbers got messed up, this is corrected in `src/js/eventHandlers.js` and `/src/data/patches/patch.js`. * The two line above and this line should be safe to remove after release 2001. */ - release: 1264, + release: 1265, }; diff --git a/src/cheats/cheatEditActor.js b/src/cheats/cheatEditActor.js index 07c856e6883..88619d83183 100644 --- a/src/cheats/cheatEditActor.js +++ b/src/cheats/cheatEditActor.js @@ -24,7 +24,7 @@ App.UI.Cheat.cheatEditActor = function(actor) { const realInfant = V.cribsIndices[actor.ID] !== undefined ? infant : undefined; /** null if the actor isn't a ChildState object, otherwise a ChildState object */ - const child = undefined; // TODO: replace undefined once ChildState is actually implemented + const child = null; // TODO: replace null once ChildState is actually implemented /** a ChildState object if baseActor has an ID that exists in ???, otherwise undefined */ const realChild = undefined; // TODO: replace undefined once ChildState is actually implemented @@ -39,10 +39,13 @@ App.UI.Cheat.cheatEditActor = function(actor) { const realSlave = V.slaveIndices[actor.ID] !== undefined ? slave : undefined; /** null if the actor isn't a [this is a placeholder] object, otherwise a [this is a placeholder] object */ - const citizen = undefined; // placeholder for when/if persistant citizens are added + const citizen = null; // placeholder for when/if persistant citizens are added /** a [this is a placeholder] object if baseActor has an ID that exists in ???, otherwise undefined */ const realCitizen = undefined; // placeholder for when/if persistant citizens are added + console.log(`type; player: ${player !== null}, infant: ${infant !== null}, child: ${child !== null}, tankSlave: ${tankSlave !== null}, slave: ${slave !== null}, citizen: ${citizen !== null}`); + console.log(`real; player: ${realPlayer !== undefined}, infant: ${realInfant !== undefined}, child: ${realChild !== undefined}, tankSlave: ${realTankSlave !== undefined}, slave: ${realSlave !== undefined}, citizen: ${realCitizen !== undefined}`); + App.UI.DOM.appendNewElement("h1", el, `Cheat edit ${actor.slaveName}`); if (player) { diff --git a/src/data/patches/releases/1265_fixSlavesBeingDetecedAsTankSlaves.js b/src/data/patches/releases/1265_fixSlavesBeingDetecedAsTankSlaves.js new file mode 100644 index 00000000000..abc167930b9 --- /dev/null +++ b/src/data/patches/releases/1265_fixSlavesBeingDetecedAsTankSlaves.js @@ -0,0 +1,10 @@ +App.Patch.register({ + releaseID: 1265, + descriptionOfChanges: "Remove incubatorSettings from all HumanStates except for TankSlaveStates", + humanState: (div, actor, location) => { + if (location !== "V.incubator.tanks" && "incubatorSettings" in actor) { + deleteProps(actor, "incubatorSettings"); + } + return actor; + } +}); diff --git a/src/facilities/facilityRetrievalWorkaround.js b/src/facilities/facilityRetrievalWorkaround.js index b6113482705..22f9d43a983 100644 --- a/src/facilities/facilityRetrievalWorkaround.js +++ b/src/facilities/facilityRetrievalWorkaround.js @@ -36,13 +36,15 @@ App.UI.facilityRetrievalWorkaround = function(facility) { App.UI.DOM.appendNewElement("span", node, `You can't sustain ${him} and thus must sell ${him} for ${cashFormat(price)}.`, "note"); } } + V.readySlave = App.Entity.TankSlaveState.fromTank(/** @type {FC.TankSlaveState} */ (V.readySlave)); } else { App.UI.DOM.appendNewElement("div", node, App.Desc.longSlave(V.readySlave)); App.UI.DOM.appendNewElement("div", node, App.UI.newChildIntro(V.readySlave)); } } else if (V.newSlavePool) { App.UI.DOM.appendNewElement("p", node, `The following slaves were discharged from ${facilityName}:`); - for (const slave of V.newSlavePool) { + for (const TankSlave of V.newSlavePool) { + const slave = isIncubator ? App.Entity.TankSlaveState.fromTank(/** @type {FC.TankSlaveState} */ (TankSlave)) : TankSlave; App.UI.DOM.appendNewElement("div", node, `Name: ${SlaveFullName(slave)}`); App.UI.DOM.appendNewElement("div", node, parent(slave, "mother")); App.UI.DOM.appendNewElement("div", node, parent(slave, "father")); -- GitLab