diff --git a/css/gui/slaveList/cardStyle.css b/css/gui/slaveList/cardStyle.css index f560bfb0c5a6dff5e87726ca532b2e13be610abb..e40715994d1ae142f24da540a033169d474c15da 100644 --- a/css/gui/slaveList/cardStyle.css +++ b/css/gui/slaveList/cardStyle.css @@ -1,8 +1,6 @@ .card { border: 2px solid #333333; background-color: #1a1a1a; - box-shadow: 10px 10px 10px black, - -10px 10px 10px black; padding: 1em; margin-bottom: 1em; } diff --git a/js/rulesAssistant/conditionEditorSimple.js b/js/rulesAssistant/conditionEditorSimple.js index e3c64a81518d93fc0feb9204178fc52235a8129b..2384dc9d021c315f23681650b755995b47469e76 100644 --- a/js/rulesAssistant/conditionEditorSimple.js +++ b/js/rulesAssistant/conditionEditorSimple.js @@ -377,6 +377,9 @@ App.RA.Activation.SimpleEditor = (function() { if (ruleState.assignmentMode !== "ignore" && ruleState.assignments.length > 0) { rule.push(...ruleState.assignments); rule.push(ruleState.assignments.length, "or"); + if (ruleState.assignmentMode === "exclude") { + rule.push("not"); + } counter++; } diff --git a/src/events/intro/introSummary.js b/src/events/intro/introSummary.js index 5af30d6e90854ff8eaa52f9089f18e085df34062..b430224af9985da942ed951bd5a7d02a5b64aa8a 100644 --- a/src/events/intro/introSummary.js +++ b/src/events/intro/introSummary.js @@ -781,7 +781,7 @@ App.Intro.economy = function(isIntro) { .addValue("Vanilla", 0, () => V.difficultySwitch = 0) .addValue("Easy", 1, () => V.difficultySwitch = 1) .addValue("Default", 2, () => V.difficultySwitch = 1) - .addValue("Hard", 3, () => V.difficultySwitch = 1); + .addValue("Hard", 4, () => V.difficultySwitch = 1); /* Not functional yet All the things you need to run your arcology are getting more expensive diff --git a/src/events/intro/pcAppearance.js b/src/events/intro/pcAppearance.js index 847fb362fe68ce2eb2596a24c9ecb0844aa64be8..b2c6991f9d8f896617e5366e6e8c7a60d0236d4b 100644 --- a/src/events/intro/pcAppearance.js +++ b/src/events/intro/pcAppearance.js @@ -423,7 +423,7 @@ App.UI.Player.assignCareerByAge = function(selection) { career = selection; } else { for (const data of App.Data.player.career.values()) { - if (Object.values(data).includes(V.PC.career)) { + if (Object.values(data).includes(selection)) { if (V.PC.actualAge <= 13) { career = data.child; } else if (V.PC.actualAge <= 21) { diff --git a/src/facilities/incubator/incubatorInteract.js b/src/facilities/incubator/incubatorInteract.js index 53a50cf0d55b301c74a07a5ba7e5fada448ee4f3..ad264abc7cc3fd468f4ae71a91763a61a780d9f2 100644 --- a/src/facilities/incubator/incubatorInteract.js +++ b/src/facilities/incubator/incubatorInteract.js @@ -1194,7 +1194,7 @@ App.UI.incubator = function() { } else { linkArray.push(makeLink(`Disable`, () => { V.incubator.setting.weight = 0; }, refresh)); } - section.append(App.UI.DOM.generateLinksStrip(linkArray)); + section.append(" ", App.UI.DOM.generateLinksStrip(linkArray)); } else { const cost = Math.trunc(20000 * V.upgradeMultiplierArcology); section.append(`There are no systems in place to control a growing child's weight; they will likely come out emaciated from the rapid growth.`); @@ -1238,7 +1238,7 @@ App.UI.incubator = function() { linkArray.push(makeLink(`Disable`, () => { V.incubator.setting.muscles = 0; }, refresh)); } - section.append(App.UI.DOM.generateLinksStrip(linkArray)); + section.append(" ", App.UI.DOM.generateLinksStrip(linkArray)); } else { const cost = Math.trunc(20000 * V.upgradeMultiplierArcology); section.append(`There are no systems in place to control a growing child's musculature; they will likely come out frail and weak from the rapid growth.`); @@ -1281,7 +1281,7 @@ App.UI.incubator = function() { } else { linkArray.push(makeLink(`Disable`, () => { V.incubator.setting.reproduction = 0; }, refresh)); } - section.append(App.UI.DOM.generateLinksStrip(linkArray)); + section.append(" ", App.UI.DOM.generateLinksStrip(linkArray)); div.append(section); el.append(div); @@ -1313,7 +1313,7 @@ App.UI.incubator = function() { } else { linkArray.push(makeLink(`Disable`, () => { V.incubator.setting.pregAdaptation = 0; }, refresh)); } - section.append(App.UI.DOM.generateLinksStrip(linkArray)); + section.append(" ", App.UI.DOM.generateLinksStrip(linkArray)); if (V.incubator.upgrade.pregAdaptation === 1 && V.incubator.setting.pregAdaptation > 0) { // Should be visible only after incubator.upgrade.reproduction is installed and turned on @@ -1343,7 +1343,7 @@ App.UI.incubator = function() { } else { linkArray.push(makeLink(`Standard`, () => { V.incubator.setting.pregAdaptationPower = 0; }, refresh)); } - section.append(App.UI.DOM.generateLinksStrip(linkArray)); + section.append(" ", App.UI.DOM.generateLinksStrip(linkArray)); div.append(section); section = document.createElement("div"); diff --git a/src/facilities/pit/pitFramework.js b/src/facilities/pit/pitFramework.js index a12fec5369e9f943ef387a3473d7e06a9d9264a4..ed2ca4086d586fd6e6cd7af89efccfe478c3f571 100644 --- a/src/facilities/pit/pitFramework.js +++ b/src/facilities/pit/pitFramework.js @@ -32,6 +32,12 @@ App.Entity.Facilities.PitFighterJob = class extends App.Entity.Facilities.Facili if ((slave.indentureRestrictions > 0) && (this.facility.option("lethal"))) { r.push(`${slave.slaveName}'s indenture forbids lethal fights.`); } + if (!canWalk(slave)) { + r.push(`${slave.slaveName} cannot walk independently.`); + } + if (!canHold(slave)) { + r.push(`${slave.slaveName} is unable to strike their opponent.`); + } return r; } diff --git a/src/interaction/sellSlave.js b/src/interaction/sellSlave.js index 293718ec20cd06635ec4a5468933846e7ba0cee1..3e6d68a6558e9ec6526168b5bc3440e90616b7ac 100644 --- a/src/interaction/sellSlave.js +++ b/src/interaction/sellSlave.js @@ -2723,7 +2723,7 @@ App.Interact.sellSlave = function(slave) { r.push(`The mercenary sniper greets ${slave.slaveName} before the two of them head off for a battlefield halfway around the world. "Let's hope you've got a good eye for political assassinations," he says humorlessly.`); for (const s of V.slaves) { if (s.skill.combat <= 15) { - s.devotion -= 3; + s.trust -= 3; slaveImpact = 1; } } diff --git a/src/npc/descriptions/longSlave.js b/src/npc/descriptions/longSlave.js index a3a51cf51ccc3f22ea04158e7bd47d99764a58d7..fbb88ab705b8c1267cbcafa583740e76ad0a53cf 100644 --- a/src/npc/descriptions/longSlave.js +++ b/src/npc/descriptions/longSlave.js @@ -343,10 +343,10 @@ App.Desc.longSlave = function(slave, {descType, market = 0, marketText, noArt, l if (losses > 0) { r.push(`with ${numberWithPluralOne(wins, "win")} and ${numberWithPluralOne(losses, "loss", "losses")}.`); } else { - r.push(`${wins > 2 ? `all of` : `both of`}which ${he} won.`); + r.push(`${wins > 2 ? `all of` : `both of`} which ${he} won.`); } } else { - r.push(`${losses > 2 ? `all of` : `both of`}which ${he} lost.`); + r.push(`${losses > 2 ? `all of` : `both of`} which ${he} lost.`); } } diff --git a/src/npc/surgery/surrogacyWorkaround.js b/src/npc/surgery/surrogacyWorkaround.js index a8a87151950327ad8d152325edaa12450c234fc1..5c028eaf38478fa74e604c7da24648a09f124725 100644 --- a/src/npc/surgery/surrogacyWorkaround.js +++ b/src/npc/surgery/surrogacyWorkaround.js @@ -57,8 +57,9 @@ App.UI.surrogacyWorkaround = function() { for (const slave of V.slaves) { if (slave.balls > 0 && slave.pubertyXY === 1 && isSlaveAvailable(slave) && canBreed(donatrix, slave)) { - App.UI.DOM.appendNewElement("div", node, App.UI.DOM.link( - SlaveFullName(slave), + const div = App.UI.DOM.appendNewElement("div", node, App.UI.DOM.referenceSlaveWithPreview(slave, SlaveFullName(slave))); + div.append(" ", App.UI.DOM.link( + "Select", () => { V.impregnatrix = slave; App.UI.reload(); @@ -114,8 +115,9 @@ App.UI.surrogacyWorkaround = function() { for (const slave of V.slaves) { if (canBeReceptrix(slave)) { - App.UI.DOM.appendNewElement("div", node, App.UI.DOM.link( - SlaveFullName(slave), + const div = App.UI.DOM.appendNewElement("div", node, App.UI.DOM.referenceSlaveWithPreview(slave, SlaveFullName(slave))); + div.append(" ", App.UI.DOM.link( + "Select", () => { V.receptrix = slave; App.UI.reload();