diff --git a/src/js/DefaultRules.js b/src/js/DefaultRules.js index 8443fa745d2952ee15f40a1d3013b6100c68c809..40a4c6d7fa2e56c6055fac6cf6827f8237807e3d 100644 --- a/src/js/DefaultRules.js +++ b/src/js/DefaultRules.js @@ -36,6 +36,7 @@ window.DefaultRules = (function() { ProcessArmAccessory(slave, rule); ProcessLegAccessory(slave, rule); } + ProcessPit(slave,rule); ProcessBellyImplant(slave, rule); if (isFertile(slave) || slave.pregWeek < 0) { ProcessContraceptives(slave, rule); @@ -1519,6 +1520,28 @@ window.DefaultRules = (function() { * @param {App.Entity.SlaveState} slave * @param {App.RA.RuleSetters} rule */ + + function ProcessPit(slave,rule){ + if (rule.pitRules !== undefined && rule.pitRules !== null){ + if (V.pit > 0){ + if (rule.pitRules === 0){ + V.fighterIDs = V.fighterIDs.filter(e => e !== slave.ID); + r += `<br>${slave.slaveName} has been removed from the pit.`; + }else{ + if (App.Entity.facilities.pit.job().checkRequirements(slave).length !== 0) { + V.fighterIDs = V.fighterIDs.filter(e => e !== slave.ID); + r += `<br>${slave.slaveName} is not eligible to fight.`; + } else{ + if (!V.fighterIDs.includes(slave.ID)){ + V.fighterIDs.push(slave.ID); + } + r += `<br>${slave.slaveName} has been automatically assigned to fight in the pit.`; + } + } + } + } + } + function ProcessDiet(slave, rule) { // Diet Setting if ((rule.diet !== undefined && rule.diet !== null) || rule.weight !== null) { diff --git a/src/js/rulesAssistant.js b/src/js/rulesAssistant.js index f45609aaedef7d50bc708b16e4c61c38fcedf335..2419b46e23752e9a1c378dc2a04fc1a08698daf4 100644 --- a/src/js/rulesAssistant.js +++ b/src/js/rulesAssistant.js @@ -354,6 +354,7 @@ App.RA.newRule = function() { eyewear: null, earwear: null, setAssignment: null, + pitRules: null, facilityRemove: false, removalAssignment: "rest", surgery: emptySurgery(), diff --git a/src/js/rulesAssistantOptions.js b/src/js/rulesAssistantOptions.js index 098c47ce5ab3b28caa6fa6ff6288f6b9159b45e7..563025254a979a8742a28afc63271375e2460c2c 100644 --- a/src/js/rulesAssistantOptions.js +++ b/src/js/rulesAssistantOptions.js @@ -1600,6 +1600,9 @@ window.rulesAssistantOptions = (function() { constructor(tabButtons) { super("behavior", "Behavior", tabButtons); this.appendChild(new AutomaticAssignmentList()); + if (V.pit === 1) { + this.appendChild(new PitAssignmentList()); + } this.appendChild(new LivingStandardList()); this.appendChild(new PunishmentList()); this.appendChild(new RewardList()); @@ -4243,7 +4246,16 @@ window.rulesAssistantOptions = (function() { this.onchange = (value) => current_rule.set.setAssignment = value; } } - + + class PitAssignmentList extends ListSelector{ + constructor() { + const items =[["remove from pit",0],["assign to pit",1]] + super("Pit assignment", items); + this.setValue(current_rule.set.pitRules); + this.onchange = (value) => current_rule.set.pitRules = value; + } + } + class BellyImplantList extends RadioSelector { constructor() { const items = [