diff --git a/devTools/FC.d.ts b/devTools/FC.d.ts index fb1c648d6736d67f9ce032c588e1982058964a8b..e53d61b75dc2d1ca1d0c7b25bfddb2369d5b875b 100644 --- a/devTools/FC.d.ts +++ b/devTools/FC.d.ts @@ -72,12 +72,6 @@ declare namespace App { namespace Entries {} } - namespace Entity { - class Serializable {} - - namespace Utils {} - } - namespace Facilities {} namespace Interact {} @@ -370,4 +364,21 @@ declare namespace App { } } -const V: any; +declare namespace FC { + // black magic to make TypeScript understand that App.Entity.SlaveState is a type + type SlaveState = InstanceType<typeof App.Entity.SlaveState>; + + enum NoSlave { + value = 0 + } + + type SlaveStateOrZero = SlaveState | NoSlave; + + type DefaultGameStateVariables = typeof App.Data.defaultGameStateVariables; + type ResetOnNGPVariables = typeof App.Data.resetOnNGPlus; + interface GameVariables extends DefaultGameStateVariables, ResetOnNGPVariables {} +} + +const V: FC.GameVariables; + +function slaveStateById(ID: number): FC.SlaveState; diff --git a/js/002-config/fc-js-init.js b/js/002-config/fc-js-init.js index 5eff87da0a2f291b10f185220944887ec5494106..6b36572e801d4d64e971fca1e223e11358a428c8 100644 --- a/js/002-config/fc-js-init.js +++ b/js/002-config/fc-js-init.js @@ -39,7 +39,7 @@ App.Facilities.MasterSuite = {}; App.Facilities.Nursery = {}; App.Facilities.Schoolroom = {}; App.Facilities.ServantsQuarters = {}; -App.Facilities.Spa = {} +App.Facilities.Spa = {}; App.Interact = {}; App.Intro = {}; App.MainView = {}; @@ -61,7 +61,6 @@ App.UI.View = {}; App.Update = {}; App.Utils = {}; - Object.defineProperty(App, "activeSlave", { get: () => State.variables.activeSlave, set: (slave) => { State.variables.activeSlave = slave; } diff --git a/js/003-data/gameVariableData.js b/js/003-data/gameVariableData.js index 3a3c7298a13b5739032c6b1cbc4ea35caf60fd33..f0bbc2ac969e71e5f7947ae9e62127baccf5707f 100644 --- a/js/003-data/gameVariableData.js +++ b/js/003-data/gameVariableData.js @@ -12,13 +12,16 @@ App.Data.defaultGameStateVariables = { releaseID: 0, // Slaves + /** @type {Object.<number, number>} */ slaveIndices: {}, genePool: [], geneMods: {NCS: 0, rapidCellGrowth: 0}, missingTable: {}, + /** @type {App.Entity.SlaveState[]} */ slaves: [], // PC + /** @type {App.Entity.PlayerState} */ PC: {}, freshPC: 0, IsInPrimePC: 3, @@ -233,18 +236,31 @@ App.Data.resetOnNGPlus = { assignmentRecords: {}, marrying: [], // array of slave being married this week organs: [], + /** @type {number[]} */ ArcadeiIDs: [], + /** @type {number[]} */ BrothiIDs: [], + /** @type {number[]} */ CellBiIDs: [], + /** @type {number[]} */ CliniciIDs: [], + /** @type {number[]} */ ClubiIDs: [], + /** @type {number[]} */ DairyiIDs: [], + /** @type {number[]} */ FarmyardiIDs: [], + /** @type {number[]} */ HGSuiteiIDs: [], + /** @type {number[]} */ MastSiIDs: [], + /** @type {number[]} */ SchlRiIDs: [], + /** @type {number[]} */ ServQiIDs: [], + /** @type {number[]} */ SpaiIDs: [], + /** @type {number[]} */ NurseryiIDs: [], corp: App.Data.CorpInitData, dividendTimer: 0, @@ -995,10 +1011,12 @@ App.Data.resetOnNGPlus = { weddingPlanned: 0, personalAttention: "sex", + /** @type {FC.SlaveStateOrZero} */ HeadGirl: 0, HGTimeInGrade: 0, HGEnergy: 0, HGCum: 0, + /** @type {FC.SlaveStateOrZero} */ Recruiter: 0, recruiterTarget: "desperate whores", recruiterProgress: 0, @@ -1006,20 +1024,33 @@ App.Data.resetOnNGPlus = { recruiterIdleNumber: 20, recruiterIOUs: 0, bodyguardTrains: 1, + /** @type {FC.SlaveStateOrZero} */ Bodyguard: 0, + /** @type {FC.SlaveStateOrZero} */ Madam: 0, + /** @type {FC.SlaveStateOrZero} */ DJ: 0, + /** @type {FC.SlaveStateOrZero} */ Milkmaid: 0, milkmaidImpregnates: 0, + /** @type {FC.SlaveStateOrZero} */ Farmer: 0, + /** @type {FC.SlaveStateOrZero} */ Collectrix: 0, + /** @type {FC.SlaveStateOrZero} */ Stewardess: 0, stewardessImpregnates: 0, + /** @type {FC.SlaveStateOrZero} */ Schoolteacher: 0, + /** @type {FC.SlaveStateOrZero} */ Attendant: 0, + /** @type {FC.SlaveStateOrZero} */ Matron: 0, + /** @type {FC.SlaveStateOrZero} */ Nurse: 0, + /** @type {FC.SlaveStateOrZero} */ Wardeness: 0, + /** @type {FC.SlaveStateOrZero} */ Concubine: 0, economicUncertainty: 10, @@ -1262,8 +1293,9 @@ App.Data.resetOnNGPlus = { RegularParties: 0, PAPublic: 0, CoursingAssociation: 0, - Lurcher: 0, + LurcherID: 0, coursed: 0, + /** @type {FC.SlaveStateOrZero} */ Stud: 0, StudCum: 0, RaidingMercenaries: 0, diff --git a/src/002-config/fc-version.js b/src/002-config/fc-version.js index dda732eac5bddf28028fe2ede56ffabe69dd2a0a..35a951cc169998f404a8493ee18aa7d914539bfc 100644 --- a/src/002-config/fc-version.js +++ b/src/002-config/fc-version.js @@ -1,7 +1,7 @@ App.Version = { base: "0.10.7.1", // The vanilla version the mod is based off of, this should never be changed. pmod: "3.4.0", - release: 1066, + release: 1067, }; /* Use release as save version */ diff --git a/src/art/artJS.js b/src/art/artJS.js index 8d0bb9571fbb917eaa520c03937ec924e9abd7d6..d1fcb88fdb28f87f1da3429a6647643875e8ae22 100644 --- a/src/art/artJS.js +++ b/src/art/artJS.js @@ -12,7 +12,7 @@ * @returns {string} */ window.SlaveArt = function(artSlave, artSize, UIDisplay) { - const imageChoice = State.variables.imageChoice; + const imageChoice = V.imageChoice; if (artSlave.custom.image !== null && artSlave.custom.image.filename !== "") { return CustomArt(artSlave, artSize); } else if (imageChoice === 1) { /* VECTOR ART BY NOX/DEEPMURK */ diff --git a/src/data/backwardsCompatibility/datatypeCleanup.js b/src/data/backwardsCompatibility/datatypeCleanup.js index a5cb9d17eeb2fd32a648aa5f5813a2a8fd4cf9be..35d84b553e698e83d7a85823f4c12e3b07b8218c 100644 --- a/src/data/backwardsCompatibility/datatypeCleanup.js +++ b/src/data/backwardsCompatibility/datatypeCleanup.js @@ -1991,7 +1991,7 @@ window.FacilityDatatypeCleanup = (function() { V.Recruiter = V.slaves.find(s => s.assignment === "recruit girls") || 0; V.Bodyguard = V.slaves.find(s => s.assignment === "guard you") || 0; if (V.Lurcher) { - V.Lurcher = V.slaves[V.slaveIndices[V.Lurcher.ID]]; + V.LurcherID = V.Lurcher === 0 ? 0 : V.Lurcher.ID; } if (V.Stud) { V.Stud = V.slaves[V.slaveIndices[V.Stud.ID]]; diff --git a/src/js/assignJS.js b/src/js/assignJS.js index f6c681253fea29ea714e4aad7655ebdab1d3ce06..83149f60dbb1a0c89cda60754372f189194e9cae 100644 --- a/src/js/assignJS.js +++ b/src/js/assignJS.js @@ -463,7 +463,7 @@ window.removeJob = function removeJob(slave, assignment, saveRecord) { if (assignment === "Pit") { V.fighterIDs.delete(slave.ID); } else if (assignment === "Coursing Association") { - V.Lurcher = 0; + V.LurcherID = 0; } else { if (V.HeadGirl !== 0 && slave.ID === V.HeadGirl.ID) { V.HeadGirl = 0; diff --git a/src/js/removeActiveSlave.js b/src/js/removeActiveSlave.js index 531734a5f0e4f1eec3bd925604cfbf5b8fb00c28..7c7848cdba1bf79e5968c8bb4c5e822cdaebc638 100644 --- a/src/js/removeActiveSlave.js +++ b/src/js/removeActiveSlave.js @@ -118,8 +118,8 @@ window.removeActiveSlave = function removeActiveSlave() { V.fighterIDs.delete(AS_ID); /* remove from Coursing Association, if needed */ - if (V.Lurcher !== 0 && V.Lurcher.ID === AS_ID) { - V.Lurcher = 0; + if (V.LurcherID === AS_ID) { + V.LurcherID = 0; } if (Array.isArray(V.personalAttention)) { diff --git a/src/uncategorized/assign.tw b/src/uncategorized/assign.tw index 52be71e1e819a7c35930572474fd646cb5d5a314..8476f10e7bf34d15f1425e519dc0dc6a74ebb08d 100644 --- a/src/uncategorized/assign.tw +++ b/src/uncategorized/assign.tw @@ -11,7 +11,7 @@ <<set $fighterIDs.push($activeSlave.ID)>> <<goto $returnTo>> <<case "Coursing Association">> - <<set $Lurcher = $activeSlave>> + <<set $LurcherID = $activeSlave.ID>> <<goto $returnTo>> <<default>> <<= assignJob($activeSlave, $assignTo)>> diff --git a/src/uncategorized/coursingAssociation.tw b/src/uncategorized/coursingAssociation.tw index f0194d1818abee6c7be3e30e25a24f52a07fb816..5eed13c2ebef0874aad06ee85905bc838a7ddc60 100644 --- a/src/uncategorized/coursingAssociation.tw +++ b/src/uncategorized/coursingAssociation.tw @@ -6,24 +6,24 @@ You are a member of $arcologies[0].name's Coursing Association. Coursing is a Fr <br><br> The chasing slaves are known as lurchers, the term once used for the sighthounds. They require speed most of all, but must also be able to tackle their quarry; lurchers with the ability and willingness to make a spectacle of molesting the hares can improve their owners' reputations. -<<if $Lurcher != 0>> - <<= SlaveFullName($slaves[$slaveIndices[$Lurcher.ID]])>> is assigned to compete as your lurcher. +<<if $LurcherID != 0>> + <<= SlaveFullName(slaveStateById($LurcherID))>> is assigned to compete as your lurcher. <<else>> You have not selected a lurcher, meaning that you will not participate in coursing events. <</if>> //<br><<= properTitle()>>, slaves assigned here can continue their usual duties.// -<<if $Lurcher != 0>> +<<if $LurcherID != 0>> <br><br>''Fire your Lurcher:'' - <<= App.UI.SlaveList.render.listMarkup([App.Utils.slaveIndexForId($Lurcher.ID)], [], + <<= App.UI.SlaveList.render.listMarkup([App.Utils.slaveIndexForId($LurcherID)], [], (slave, index) => App.UI.DOM.passageLink(SlaveFullName(slave), 'Retrieve', - () => { $i = App.Utils.slaveIndexForId($Lurcher.ID) }))>> + () => { $i = App.Utils.slaveIndexForId($LurcherID) }))>> <</if>> <br><br>''Select a slave to course as a Lurcher:'' <br><br> <<= App.UI.SlaveList.slaveSelectionList( - s => $Lurcher.ID !== s.ID && canWalk(s) && canHold(s) && (canSee(s) || canHear(s)) && s.fuckdoll === 0 && isSlaveAvailable(s), + s => $LurcherID !== s.ID && canWalk(s) && canHold(s) && (canSee(s) || canHear(s)) && s.fuckdoll === 0 && isSlaveAvailable(s), (slave, index) => App.UI.DOM.passageLink(SlaveFullName(slave), 'Assign', () => { variables().i = index; }) )>> diff --git a/src/uncategorized/policies.tw b/src/uncategorized/policies.tw index 9646d6669cfc93f2c7629039cde9a31dcd5f101f..81fa43ad0f55332b1f27380062971879e69eb2e7 100644 --- a/src/uncategorized/policies.tw +++ b/src/uncategorized/policies.tw @@ -594,8 +594,8 @@ More policies will become available as the arcology develops.// <<if $CoursingAssociation>> <br>''Coursing Association:'' you are sponsoring a [[Coursing Association]] that will hold monthly races. @@.yellow;[[Repeal|Policies][$CoursingAssociation = 0]]@@ - <<if $Lurcher != 0>> - <<set $activeSlave = getSlave($Lurcher.ID)>> + <<if $LurcherID != 0>> + <<set $activeSlave = getSlave($LurcherID)>> <br> Your current lurcher is <<link "<<= SlaveFullName($activeSlave)>>" "Slave Interact">><</link>>. <</if>> diff --git a/src/uncategorized/reNickname.tw b/src/uncategorized/reNickname.tw index 963908916d097c4bbf44490ea924451b6a7062db..4bdd97e758d3d6c43b82ca4c11875acb92b4bf21 100644 --- a/src/uncategorized/reNickname.tw +++ b/src/uncategorized/reNickname.tw @@ -150,7 +150,7 @@ <<set _qualifiedNicknames.push("Nurse")>> <</if>> -<<if ($activeSlave.ID == $Lurcher.ID)>> +<<if ($activeSlave.ID == $LurcherID)>> <<set _qualifiedNicknames.push("Lurcher")>> <</if>> <<if ($activeSlave.assignment == "be a subordinate slave")>> diff --git a/src/uncategorized/retrieve.tw b/src/uncategorized/retrieve.tw index 952ced5cdcfe71d06f643f4bd1d130b69d31bb46..b9c423b16be276c6b38cc9c75daf531262db44c1 100644 --- a/src/uncategorized/retrieve.tw +++ b/src/uncategorized/retrieve.tw @@ -4,7 +4,7 @@ <<case "Pit">> <<set $fighterIDs.delete($slaves[$i].ID)>> <<case "Coursing Association">> - <<set $Lurcher = 0>> + <<set $LurcherID = 0>> <<default>> <<= removeJob($slaves[$i], $slaves[$i].assignment)>> <</switch>> diff --git a/src/uncategorized/scheduledEvent.tw b/src/uncategorized/scheduledEvent.tw index 177f9ce538e14ee9665f463fc8805fc8047c5e79..7adeffed428ef4ad251e0674576104109997c54f 100644 --- a/src/uncategorized/scheduledEvent.tw +++ b/src/uncategorized/scheduledEvent.tw @@ -141,7 +141,7 @@ <<goto "JobFulfillmentCenterDelivery">> <<elseif ($huskSlaveOrdered == 1)>> <<goto "SE husk slave delivery">> -<<elseif ($Lurcher != 0) && ($CoursingAssociation != 0) && (Math.trunc($week/4) == ($week/4)) && ($coursed != 1)>> +<<elseif ($LurcherID != 0) && ($CoursingAssociation != 0) && (Math.trunc($week/4) == ($week/4)) && ($coursed != 1)>> <<goto "SE coursing">> <<elseif ($RaidingMercenaries != 0) && ($week > ($raided + 6))>> <<goto "SE raiding">> @@ -191,4 +191,4 @@ <<run delete $JFCReorder>> <<run delete $customSlaveOrderedReorder>> <<goto "Nonrandom Event">> -<</if>> \ No newline at end of file +<</if>> diff --git a/src/uncategorized/seCoursing.tw b/src/uncategorized/seCoursing.tw index cbc3e4e7e384b5ebc2e0382c9bb2b3d780de09af..0882f6f08546a2f9aa2eac9c3f63e112131310f7 100644 --- a/src/uncategorized/seCoursing.tw +++ b/src/uncategorized/seCoursing.tw @@ -2,24 +2,22 @@ <<set $nextButton = "Continue", $nextLink = "Scheduled Event", $returnTo = "Scheduled Event", $coursed = 1, _seed = 0>> -<<set $lurcherIndex = $slaveIndices[$Lurcher.ID]>> -<<set $activeLurcher = getSlave($Lurcher.ID)>> +<<set _activeLurcher = getSlave($LurcherID)>> +<<setLocalPronouns _activeLurcher>> -<<setLocalPronouns $slaves[$lurcherIndex]>> - -<<set _clothesTemp = $activeLurcher.clothes, $activeLurcher.clothes = "no clothing">> <span id="artFrame"> /* 000-250-006 */ <<if $seeImages == 1>> + <<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">> <<if $imageChoice == 1>> - <div class="imageRef lrgVector"><div class="mask"> </div><<= SlaveArt($activeLurcher, 2, 0)>></div> + <div class="imageRef lrgVector"><div class="mask"> </div><<= SlaveArt(_activeLurcher, 2, 0)>></div> <<else>> - <div class="imageRef lrgRender"><div class="mask"> </div><<= SlaveArt($activeLurcher, 2, 0)>></div> + <div class="imageRef lrgRender"><div class="mask"> </div><<= SlaveArt(_activeLurcher, 2, 0)>></div> <</if>> + <<set _activeLurcher.clothes = _clothesTemp>> <</if>> /* 000-250-006 */ </span> -<<set $activeLurcher.clothes = _clothesTemp>> <span id="result"> @@ -28,45 +26,45 @@ It's time to go coursing. You meet with fellow members of the Coursing Associati The rules have been explained to the hares: they're to be freed if they can reach the other side of the plaza without being caught and raped by the lurchers who will be released to chase them. <br><br> -You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like the hares. +You lead your lurcher _activeLurcher.slaveName out on a leash, naked just like the hares. -<<if ($activeLurcher.dick > 0)>> - <<if canPenetrate($activeLurcher) && ($activeLurcher.energy > 60) && ($activeLurcher.devotion > 20)>> - <<if ($activeLurcher.dick > 4)>> +<<if (_activeLurcher.dick > 0)>> + <<if canPenetrate(_activeLurcher) && (_activeLurcher.energy > 60) && (_activeLurcher.devotion > 20)>> + <<if (_activeLurcher.dick > 4)>> $He's sporting an enormous half-erection, which has already been heavily lubricated to prevent permanent damage to the hares' holes. As you bring $him up to the mark, $he grabs its base and begins to slap it against $his thigh, hard. The hares look around to see what the wet smacking noise is, and are understandably frightened; one of them begins to beg openly. Your fellow competitors @@.green;think this is hilarious.@@ - <<run repX(250, "event", $slaves[$lurcherIndex])>> + <<run repX(250, "event", _activeLurcher)>> <<set $phallus = "huge dick">> <<else>> $He's ready to do $his best. Since $he's concentrating on the immediate challenge of catching rather than the secondary challenge of raping, $he isn't hard yet, but $he's not indifferent to the prospect of getting $his dick wet. There's a bead of precum forming at $his tip. <<set $phallus = "dick">> <</if>> - <<elseif !canAchieveErection($activeLurcher)>> + <<elseif !canAchieveErection(_activeLurcher)>> There's no way $he's going to be able to achieve an erection, so $he's holding a lubricated dildo in one hand. This is technically permitted under the rules, but your fellow competitors and the crowd gathering to spectate @@.red;consider it poor form.@@ - <<run repX(-50, "event", $slaves[$lurcherIndex])>> + <<run repX(-50, "event", _activeLurcher)>> <<set $phallus = "dildo">> - <<elseif ($activeLurcher.energy <= 60) || ($activeLurcher.devotion <= 20)>> + <<elseif (_activeLurcher.energy <= 60) || (_activeLurcher.devotion <= 20)>> $He looks nervous, and obviously doesn't find the situation arousing. $He knows $he's to catch and then rape a slave, but may not be able to get hard enough to do the deed properly. Your fellow competitors and the crowd gathering to spectate @@.red;are unimpressed@@ by $his lack of spirit. - <<run repX(-50, "event", $slaves[$lurcherIndex])>> + <<run repX(-50, "event", _activeLurcher)>> <<set $phallus = "fingers">> <<else>> $His dick is not a fit instrument for sexual assault, so $he's holding a lubricated dildo in one hand. This is technically permitted under the rules, but your fellow competitors and the crowd gathering to spectate @@.red;consider it poor form.@@ - <<run repX(-50, "event", $slaves[$lurcherIndex])>> + <<run repX(-50, "event", _activeLurcher)>> <<set $phallus = "dildo">> <</if>> -<<elseif ($activeLurcher.clit > 1) && ($activeLurcher.energy > 60) && ($activeLurcher.devotion > 20)>> +<<elseif (_activeLurcher.clit > 1) && (_activeLurcher.energy > 60) && (_activeLurcher.devotion > 20)>> $He's gently masturbating as you bring $him up to the mark, $his enormous clit becoming engorged and stiff. Your fellow competitors and the gathering crowd of spectators @@.green;are fascinated,@@ realizing that $he intends to attempt rape with it. - <<run repX(250, "event", $slaves[$lurcherIndex])>> + <<run repX(250, "event", _activeLurcher)>> <<set $phallus = "clit">> <<elseif $seeDicks != 0>> $He's holding a lubricated dildo in one hand, since $he's missing a natural phallus of $his own. This is technically permitted under the rules, but your fellow competitors and the crowd gathering to spectate @@.red;consider it poor form.@@ - <<run repX(-50, "event", $slaves[$lurcherIndex])>> + <<run repX(-50, "event", _activeLurcher)>> <<set $phallus = "dildo">> <<else>> $He's holding a lubricated dildo in one hand. As you bring $him up to the mark, $he begins to slap it against $his thigh out of nervousness and eagerness to begin. The hares look around to see what the wet smacking noise is, and are understandably frightened; one of them begins to cry openly. <<set $phallus = "dildo">> <</if>> -<<if canSee($activeLurcher)>>$activeLurcher.slaveName looks at you questioningly, wondering which of the hares $he should try to chase down and molest<<else>>$activeLurcher.slaveName looks at you questioningly, wondering which of the dinging bells $he should try to chase down and molest<</if>>. +<<if canSee(_activeLurcher)>>_activeLurcher.slaveName looks at you questioningly, wondering which of the hares $he should try to chase down and molest<<else>>_activeLurcher.slaveName looks at you questioningly, wondering which of the dinging bells $he should try to chase down and molest<</if>>. <<set $hare1 = 0, $hare2 = 0, $hare3 = 0>> @@ -245,7 +243,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t <<include "SE coursing race">> <</replace>> <<replace "#artFrame">> - <<set _clothesTemp = $activeLurcher.clothes, $activeLurcher.clothes = "no clothing">> + <<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">> <<if $activeSlave != 0>> <<set _clothesTemp2 = $activeSlave.clothes, $activeSlave.clothes = "no clothing">> <</if>> @@ -253,7 +251,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t <<if $seeImages == 1>> <div class="imageColumn"> <div class="imageRef medImg"> - <<= SlaveArt($activeLurcher, 2, 0)>> + <<= SlaveArt(_activeLurcher, 2, 0)>> </div> <<if $activeSlave != 0>> <div class="imageRef medImg"> @@ -263,11 +261,11 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t </div> <</if>> /* 000-250-006 */ - <<set $activeLurcher.clothes = _clothesTemp>> + <<set _activeLurcher.clothes = _clothesTemp>> <<if $activeSlave != 0>> <<set $activeSlave.clothes = _clothesTemp2>> <</if>> - <<unset $activeLurcher>> + <<unset _activeLurcher>> <</replace>> <</link>> <<elseif _sec == 1>> @@ -278,7 +276,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t <<include "SE coursing race">> <</replace>> <<replace "#artFrame">> - <<set _clothesTemp = $activeLurcher.clothes, $activeLurcher.clothes = "no clothing">> + <<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">> <<if $activeSlave != 0>> <<set _clothesTemp2 = $activeSlave.clothes, $activeSlave.clothes = "no clothing">> <</if>> @@ -286,7 +284,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t <<if $seeImages == 1>> <div class="imageColumn"> <div class="imageRef medImg"> - <<= SlaveArt($activeLurcher, 2, 0)>> + <<= SlaveArt(_activeLurcher, 2, 0)>> </div> <<if $activeSlave != 0>> <div class="imageRef medImg"> @@ -296,11 +294,11 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t </div> <</if>> /* 000-250-006 */ - <<set $activeLurcher.clothes = _clothesTemp>> + <<set _activeLurcher.clothes = _clothesTemp>> <<if $activeSlave != 0>> <<set $activeSlave.clothes = _clothesTemp2>> <</if>> - <<unset $activeLurcher>> + <<unset _activeLurcher>> <</replace>> <</link>> <<else>> @@ -311,7 +309,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t <<include "SE coursing race">> <</replace>> <<replace "#artFrame">> - <<set _clothesTemp = $activeLurcher.clothes, $activeLurcher.clothes = "no clothing">> + <<set _clothesTemp = _activeLurcher.clothes, _activeLurcher.clothes = "no clothing">> <<if $activeSlave != 0>> <<set _clothesTemp2 = $activeSlave.clothes, $activeSlave.clothes = "no clothing">> <</if>> @@ -319,7 +317,7 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t <<if $seeImages == 1>> <div class="imageColumn"> <div class="imageRef medImg"> - <<= SlaveArt($activeLurcher, 2, 0)>> + <<= SlaveArt(_activeLurcher, 2, 0)>> </div> <<if $activeSlave != 0>> <div class="imageRef medImg"> @@ -329,31 +327,31 @@ You lead your lurcher $activeLurcher.slaveName out on a leash, naked just like t </div> <</if>> /* 000-250-006 */ - <<set $activeLurcher.clothes = _clothesTemp>> + <<set _activeLurcher.clothes = _clothesTemp>> <<if $activeSlave != 0>> <<set $activeSlave.clothes = _clothesTemp2>> <</if>> - <<unset $activeLurcher>> + <<unset _activeLurcher>> <</replace>> <</link>> <</if>> <<if $origin == "virgin">> - is an appealingly young $activeSlave.race _girl2, and has V symbols drawn over _his2 cunt and on _his2 lower back, in the interests of fairness. _He2's a @@.pink;double virgin.@@<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>> + is an appealingly young $activeSlave.race _girl2, and has V symbols drawn over _his2 cunt and on _his2 lower back, in the interests of fairness. _He2's a @@.pink;double virgin.@@<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>> <<elseif $origin == "heavily pregnant">> - is <<= addA($activeSlave.race)>> _girl2, young and healthy but @@.pink;heavily pregnant.@@ _He2's probably been selected to be a hare as a joke, or because someone hates _him2. <<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is attached to _his2 popped navel.<</if>> + is <<= addA($activeSlave.race)>> _girl2, young and healthy but @@.pink;heavily pregnant.@@ _He2's probably been selected to be a hare as a joke, or because someone hates _him2. <<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is attached to _his2 popped navel.<</if>> <<elseif $origin == "housewife">> - is <<= addA($activeSlave.race)>> _woman2, no longer young, but attractive enough in a fake sort of way. _He2 has obviously been crying, and has probably been recently enslaved from a comfortable life, like that of a @@.pink;house<<= $wife>> or a trophy $wife.@@<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>> + is <<= addA($activeSlave.race)>> _woman2, no longer young, but attractive enough in a fake sort of way. _He2 has obviously been crying, and has probably been recently enslaved from a comfortable life, like that of a @@.pink;house<<= $wife>> or a trophy $wife.@@<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>> <<elseif $origin == "disobedient young">> - is a fit young $activeSlave.race _girl2, and is far more watchful and alert than _his2 fellow hares. _He2 may be a @@.pink;disobedient slave@@ here because _he2 was difficult to train.<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>> + is a fit young $activeSlave.race _girl2, and is far more watchful and alert than _his2 fellow hares. _He2 may be a @@.pink;disobedient slave@@ here because _he2 was difficult to train.<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>> <<elseif $origin == "disobedient young dickgirl">> - is a strong young $activeSlave.race slave who retains _his2 cock and balls, and looks determined. Perhaps _he2's a @@.pink;resistant dickgirl@@ who's been difficult to turn into a good girl.<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 cock.<</if>> + is a strong young $activeSlave.race slave who retains _his2 cock and balls, and looks determined. Perhaps _he2's a @@.pink;resistant dickgirl@@ who's been difficult to turn into a good girl.<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 cock.<</if>> <<elseif $origin == "huge balled">> - is <<= addA($activeSlave.race)>> slave whose distinguishing characteristic is a dangling scrotum and a pair of @@.pink;huge balls.@@ This impediment bumps against _his2 thighs as _he2's made ready.<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 hefty testicles.<</if>> + is <<= addA($activeSlave.race)>> slave whose distinguishing characteristic is a dangling scrotum and a pair of @@.pink;huge balls.@@ This impediment bumps against _his2 thighs as _he2's made ready.<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 hefty testicles.<</if>> <<elseif $origin == "feminized">> - is <<= addA($activeSlave.race)>> bitch with a tiny dick who has been @@.pink;heavily feminized,@@ yet seems terrified and very new to slavery. _His2 fake tits and girly behavior must be from _his2 life before _he2 was a slave.<<if !canSee($activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>> + is <<= addA($activeSlave.race)>> bitch with a tiny dick who has been @@.pink;heavily feminized,@@ yet seems terrified and very new to slavery. _His2 fake tits and girly behavior must be from _his2 life before _he2 was a slave.<<if !canSee(_activeLurcher)>> To accommodate your blind lurcher, a bell is fastened around _his2 neck.<</if>> <</if>> -<<set $activeSlave.origin = "Your lurcher " + $activeLurcher.slaveName + " caught $him coursing; $he was a " + $origin + " hare.">> +<<set $activeSlave.origin = "Your lurcher " + _activeLurcher.slaveName + " caught $him coursing; $he was a " + $origin + " hare.">> <<run setHealth($activeSlave, jsRandom(30,50))>> <<set $activeSlave.devotion = random(-45,-25)>> <<set $activeSlave.trust = random(-60,-75)>> diff --git a/src/uncategorized/seCoursingRace.tw b/src/uncategorized/seCoursingRace.tw index 04f91e9144755ac30ddd64f8f962245a99e0db07..98314cbc0f1df74eac3b22375f4a8169914dbc33 100644 --- a/src/uncategorized/seCoursingRace.tw +++ b/src/uncategorized/seCoursingRace.tw @@ -1,132 +1,133 @@ :: SE coursing race [nobr] -<<setLocalPronouns $activeLurcher>> +<<set _activeLurcher = getSlave($LurcherID)>> +<<setLocalPronouns _activeLurcher>> <<setLocalPronouns $activeSlave 2>> -You place your hand on the leash's quick release and <<if canHear($activeLurcher)>>whisper your direction into $his ear without letting the other competitors or their lurchers hear<<else>>gently point $him towards the target hare without letting the other competitors or their lurchers see<</if>>. Then, you gently push $him down into $his starting crouch. The umpire trips the hares' releases, a few <<if $showInches == 2>>yards<<else>>meters<</if>> in front of you and $activeLurcher.slaveName, and you instantly let your lurcher off $his leash. +You place your hand on the leash's quick release and <<if canHear(_activeLurcher)>>whisper your direction into $his ear without letting the other competitors or their lurchers hear<<else>>gently point $him towards the target hare without letting the other competitors or their lurchers see<</if>>. Then, you gently push $him down into $his starting crouch. The umpire trips the hares' releases, a few <<if $showInches == 2>>yards<<else>>meters<</if>> in front of you and _activeLurcher.slaveName, and you instantly let your lurcher off $his leash. <<set _LurcherSpeed = 10>> -<<if $activeLurcher.devotion > 50>> +<<if _activeLurcher.devotion > 50>> $He's eager to do well for you, and immediately takes off. <<set _LurcherSpeed += 2>> -<<elseif $activeLurcher.trust < -20>> +<<elseif _activeLurcher.trust < -20>> $He's frightened of failing you, and immediately takes off. <<set _LurcherSpeed += 1>> -<<elseif $activeLurcher.devotion < -20>> +<<elseif _activeLurcher.devotion < -20>> $He's disgusted by this, and is slow to start. <<set _LurcherSpeed -= 1>> <<else>> $He's a bit hesitant about this, but gets off reasonably well. <</if>> -<<if $activeLurcher.health.condition > 60>> +<<if _activeLurcher.health.condition > 60>> $His shining health allows $him to pour it on. <<set _LurcherSpeed += 1>> -<<elseif $activeLurcher.health.condition < 0>> +<<elseif _activeLurcher.health.condition < 0>> $His poor health slows $him down. <<set _LurcherSpeed -= 1>> <</if>> -<<if $activeLurcher.health.tired > 90>> +<<if _activeLurcher.health.tired > 90>> $He is exhausted and can barely stay awake; side bets are starting up on how far $he'll make it around the track. <<set _LurcherSpeed -= 5>> -<<elseif $activeLurcher.health.tired > 60>> +<<elseif _activeLurcher.health.tired > 60>> $He is fatigued, sapping the strength $he'll need to reach $his top speed. <<set _LurcherSpeed -= 2>> -<<elseif $activeLurcher.health.tired > 30>> +<<elseif _activeLurcher.health.tired > 30>> $He is tired and liable to be a slow start. <<set _LurcherSpeed -= 1>> <</if>> -<<if !canSee($activeLurcher)>> +<<if !canSee(_activeLurcher)>> $His inability to see causes $him to be cautious of $his footing, making $his first several strides slow and uncertain. <<set _LurcherSpeed -= 1>> <</if>> -<<if $activeLurcher.weight > 190>> +<<if _activeLurcher.weight > 190>> $He's so fat that $his run is nothing more than an out of breath waddle. <<set _LurcherSpeed -= 5>> -<<elseif $activeLurcher.weight > 160>> +<<elseif _activeLurcher.weight > 160>> It takes $him a while to get $his fat ass up to $his (rather pathetic) top speed, such as it is. <<set _LurcherSpeed -= 3>> -<<elseif $activeLurcher.weight > 95>> +<<elseif _activeLurcher.weight > 95>> It takes $him a while to get $his fat ass up to $his top speed, such as it is. <<set _LurcherSpeed -= 2>> -<<elseif $activeLurcher.weight > 30>> +<<elseif _activeLurcher.weight > 30>> It takes $him a while to get $his chubby body up to speed. <<set _LurcherSpeed -= 1>> -<<elseif $activeLurcher.weight < -95>> +<<elseif _activeLurcher.weight < -95>> $He's so thin that $he lacks the vigor to run really well. <<set _LurcherSpeed -= 1>> <</if>> -<<if $activeLurcher.muscles > 50>> +<<if _activeLurcher.muscles > 50>> $He's muscle-bound, without the range of motion to move freely. <<set _LurcherSpeed -= 1>> -<<elseif $activeLurcher.muscles > 30>> +<<elseif _activeLurcher.muscles > 30>> $He's fit, and is able to maintain $his speed quite well once $he reaches it. <<set _LurcherSpeed += 1>> -<<elseif $activeLurcher.muscles <= 5>> +<<elseif _activeLurcher.muscles <= 5>> $He's soft, and is panting desperately within a few short strides. <<set _LurcherSpeed -= 1>> -<<elseif $activeLurcher.muscles <= -30>> +<<elseif _activeLurcher.muscles <= -30>> $He's very weak, and is panting desperately from just walking to the starting line. <<set _LurcherSpeed -= 4>> -<<elseif $activeLurcher.muscles <= -95>> +<<elseif _activeLurcher.muscles <= -95>> $He's physically frail, barely capable of walking let alone running. <<set _LurcherSpeed -= 20>> <</if>> -<<if $activeLurcher.height >= 185>> +<<if _activeLurcher.height >= 185>> $His steps are long — too long, in fact: $his long legs slow $his gait. <<set _LurcherSpeed -= 1>> -<<elseif $activeLurcher.height < 150>> +<<elseif _activeLurcher.height < 150>> $His stride is too short, but it's the best $his little legs can manage. <<set _LurcherSpeed -= 1>> <</if>> -<<if $activeLurcher.boobs >= 2000>> +<<if _activeLurcher.boobs >= 2000>> $His naked breasts slosh around wildly, ruining $his attempt at running. <<set _LurcherSpeed -= 2>> -<<elseif $activeLurcher.boobs >= 800>> +<<elseif _activeLurcher.boobs >= 800>> $His big tits bounce energetically, looking quite nice but hurting $his speed. <<set _LurcherSpeed -= 1>> <</if>> -<<if $activeLurcher.butt >= 6>> +<<if _activeLurcher.butt >= 6>> $He does $his best to stay light on $his feet despite $his inconveniently huge buttocks. <<set _LurcherSpeed -= 1>> <</if>> -<<if $activeLurcher.dick >= 5>> +<<if _activeLurcher.dick >= 5>> $His cock bounces up and down wildly; $he does $his best to ignore it, but it does get in the way. <<set _LurcherSpeed -= 1>> <</if>> -<<if $activeLurcher.balls >= 5>> +<<if _activeLurcher.balls >= 5>> As you watch $him go, $his testicles smack into $his thigh, and $he gasps with pain. <<set _LurcherSpeed -= 1>> <</if>> -<<if $activeLurcher.preg >= $activeLurcher.pregData.normalBirth>> +<<if _activeLurcher.preg >= _activeLurcher.pregData.normalBirth>> $He seems terrified that $his water might break if $he tried to move too fast. <<set _LurcherSpeed -= 10>> -<<elseif $activeLurcher.belly >= 120000>> - $He can barely move $himself, let alone consider chasing something with $his titanic <<if $activeLurcher.bellyImplant > 100>>belly implant<<else>>pregnant belly<</if>> in the way. +<<elseif _activeLurcher.belly >= 120000>> + $He can barely move $himself, let alone consider chasing something with $his titanic <<if _activeLurcher.bellyImplant > 100>>belly implant<<else>>pregnant belly<</if>> in the way. <<set _LurcherSpeed -= 20>> -<<elseif $activeLurcher.belly >= 60000>> - $He can barely waddle with $his <<if $activeLurcher.bellyImplant > 100>>enormous belly implant<<else>>enormously pregnant belly<</if>>. +<<elseif _activeLurcher.belly >= 60000>> + $He can barely waddle with $his <<if _activeLurcher.bellyImplant > 100>>enormous belly implant<<else>>enormously pregnant belly<</if>>. <<set _LurcherSpeed -= 10>> -<<elseif $activeLurcher.belly >= 10000 && $activeLurcher.bellyFluid < 2000>> - $He can barely waddle along with $his huge <<if $activeLurcher.bellyImplant > 100>>belly implant<<else>>pregnant belly<</if>>. +<<elseif _activeLurcher.belly >= 10000 && _activeLurcher.bellyFluid < 2000>> + $He can barely waddle along with $his huge <<if _activeLurcher.bellyImplant > 100>>belly implant<<else>>pregnant belly<</if>>. <<set _LurcherSpeed -= 5>> -<<elseif $activeLurcher.bellyPreg >= 5000>> +<<elseif _activeLurcher.bellyPreg >= 5000>> $He seems unwilling to really run while pregnant. <<set _LurcherSpeed -= 3>> -<<elseif $activeLurcher.bellyImplant >= 5000>> +<<elseif _activeLurcher.bellyImplant >= 5000>> $His big belly implant hinders $his ability to run <<set _LurcherSpeed -= 2>> -<<elseif $activeLurcher.belly >= 1500>> +<<elseif _activeLurcher.belly >= 1500>> $He keeps one hand on $his slightly swollen middle as $he runs. <<set _LurcherSpeed -= 1>> <</if>> -<<if $activeLurcher.bellyFluid >= 10000>> - $His hugely bloated, <<print $activeLurcher.inflationType>>-filled belly is taut and painful, forcing $him to a slow waddle. +<<if _activeLurcher.bellyFluid >= 10000>> + $His hugely bloated, <<print _activeLurcher.inflationType>>-filled belly is taut and painful, forcing $him to a slow waddle. <<set _LurcherSpeed -= 5>> -<<elseif $activeLurcher.bellyFluid >= 5000>> - $His bloated, <<print $activeLurcher.inflationType>>-stuffed belly is constantly jiggling and moving, making it extremely difficult to run. +<<elseif _activeLurcher.bellyFluid >= 5000>> + $His bloated, <<print _activeLurcher.inflationType>>-stuffed belly is constantly jiggling and moving, making it extremely difficult to run. <<set _LurcherSpeed -= 4>> -<<elseif $activeLurcher.bellyFluid >= 2000>> - $His distended, <<print $activeLurcher.inflationType>>-belly is uncomfortable and heavy, slowing $him down. +<<elseif _activeLurcher.bellyFluid >= 2000>> + $His distended, <<print _activeLurcher.inflationType>>-belly is uncomfortable and heavy, slowing $him down. <<set _LurcherSpeed -= 2>> <</if>> @@ -158,7 +159,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher <<else>> Despite _his2 fake boobs and exaggeratedly feminine gait, the hare <</if>> - <<if $hareSpeed > _LurcherSpeed>>immediately pulls away<<else>>manages to maintain _his2 narrow head start<</if>>. Realizing that $he stands no chance of catching $his assigned target, $activeLurcher.slaveName <<if canSee($activeLurcher)>>looks around for a slower hare<<else>>listens for a nearby bell<</if>>. + <<if $hareSpeed > _LurcherSpeed>>immediately pulls away<<else>>manages to maintain _his2 narrow head start<</if>>. Realizing that $he stands no chance of catching $his assigned target, _activeLurcher.slaveName <<if canSee(_activeLurcher)>>looks around for a slower hare<<else>>listens for a nearby bell<</if>>. <<if $hareSpeed2 < $hareSpeed3>> <<set $activeSlave = $hare2>> <<set $origin = $origin2>> @@ -169,17 +170,17 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher <<set $hareSpeed = $hareSpeed3>> <</if>> <<setLocalPronouns $activeSlave 2>> - <<if canSee($activeLurcher)>>Seeing that the $origin hare is slower<<else>>hearing the $origin hare's bell nearby<</if>>, $he angles after _him2 instead. + <<if canSee(_activeLurcher)>>Seeing that the $origin hare is slower<<else>>hearing the $origin hare's bell nearby<</if>>, $he angles after _him2 instead. <<if $hareSpeed >= _LurcherSpeed>> $He does no better with $his new target; $his course is over. <<elseif random(1,2) == 1>> One of $his rival lurchers has the same idea, however, and tries to trip $him up. - <<if !canSee($activeLurcher)>> + <<if !canSee(_activeLurcher)>> Unable to see it coming, $he goes down with a crash; $his course is over. - <<elseif $activeLurcher.skill.combat == 1>> + <<elseif _activeLurcher.skill.combat == 1>> $He parries the attempt with contemptuous ease and catches up to $his new target. <<set _seed = 1>> - <<elseif $activeLurcher.muscles > 30>> + <<elseif _activeLurcher.muscles > 30>> $He muscles through the attempt and catches up to $his new target. <<set _seed = 1>> <<else>> @@ -198,45 +199,45 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher <<if _seed == 1>> <<if $origin == "heavily pregnant">> - $His quarry is unwilling to be tackled, probably out of fear for _his2 baby, and flings _himself2 down as soon as $activeLurcher.slaveName gets near.<<if !canSee($activeLurcher)>> _He2 screams as _he2 sees $activeLurcher.slaveName preparing to dive on _him2, alerting the blind lurcher that $his prey has already surrendered.<</if>> - <<elseif !canSee($activeLurcher) && random(1,3) == 1>> - $His prey takes advantage of $his lack of eyesight, baiting $activeLurcher.slaveName to dive in the wrong direction. As $he rises to $his feet, the slave is too far gone to make another lunge. $activeLurcher.slaveName's course is over. + $His quarry is unwilling to be tackled, probably out of fear for _his2 baby, and flings _himself2 down as soon as _activeLurcher.slaveName gets near.<<if !canSee(_activeLurcher)>> _He2 screams as _he2 sees _activeLurcher.slaveName preparing to dive on _him2, alerting the blind lurcher that $his prey has already surrendered.<</if>> + <<elseif !canSee(_activeLurcher) && random(1,3) == 1>> + $His prey takes advantage of $his lack of eyesight, baiting _activeLurcher.slaveName to dive in the wrong direction. As $he rises to $his feet, the slave is too far gone to make another lunge. _activeLurcher.slaveName's course is over. <<set _seed = 0>> - <<elseif $activeLurcher.skill.combat == 1>> + <<elseif _activeLurcher.skill.combat == 1>> $His tackle is expert: $he wraps $his quarry up and pulls _him2 down, falling on top of the struggling body. - <<elseif $activeLurcher.muscles > 30>> + <<elseif _activeLurcher.muscles > 30>> $He's burly enough that $he tackles $his quarry by simple force, an approach no less effective for its inelegance. <<elseif $origin == "virgin">> <<if random(1,3) == 1>> - The young slave manages to evade $his inexpert tackle, however, and there is no space for another before $he crosses the plaza. $activeLurcher.slaveName's course is over. + The young slave manages to evade $his inexpert tackle, however, and there is no space for another before $he crosses the plaza. _activeLurcher.slaveName's course is over. <<set _seed = 0>> <<else>> $His tackle is inexpert, but the young slave stumbles and falls anyway. <</if>> <<elseif $origin == "housewife">> <<if random(1,4) == 1>> - The spoiled slave shows surprising agility, however, and evades $activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over. + The spoiled slave shows surprising agility, however, and evades _activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over. <<set _seed = 0>> <<else>> $His tackle is inexpert, but the top-heavy bimbo goes down anyway. <</if>> <<elseif $origin == "feminized">> <<if random(1,4) == 1>> - The sissy bitch shows surprising agility, however, and evades $activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over. + The sissy bitch shows surprising agility, however, and evades _activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over. <<set _seed = 0>> <<else>> $His tackle is inexpert, but the sissy bitch goes down with a wail. <</if>> <<elseif $origin == "huge balled">> <<if random(1,4) == 1>> - The slave shows surprising agility despite _his2 flopping ballsack, and evades $activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over. + The slave shows surprising agility despite _his2 flopping ballsack, and evades _activeLurcher.slaveName's inexpert attempts to tackle all the way across the plaza. $His course is over. <<set _seed = 0>> <<else>> $His tackle is inexpert, but the slave goes down, screaming with pain when _his2 balls get trapped under their combined weight. <</if>> <<else>> <<if random(1,2) == 1>> - The determined young slave evades $his inexpert attempts to tackle all the way across the plaza, however. $activeLurcher.slaveName's course is over. + The determined young slave evades $his inexpert attempts to tackle all the way across the plaza, however. _activeLurcher.slaveName's course is over. <<set _seed = 0>> <<else>> $His tackle is inexpert, but the determined slave is unlucky, stumbling and going down anyway. @@ -247,7 +248,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher <<if _seed == 1>> The hare knows that once _his2 knees touched the field, _his2 chance at freedom was gone. _He2 begins to cry <<if $phallus == "huge dick">> - and then scream as $activeLurcher.slaveName + and then scream as _activeLurcher.slaveName <<if $origin == "virgin">> rapes _his2 virgin ass. The lurcher has to fuck the slave to claim _him2 for you, and $he knows that a virgin pussy is more valuable than a virgin rosebud. $He has to be very careful, since $his cock is big enough to seriously hurt an anal virgin, but despite $his care the racket is appallingly loud. <<elseif $origin == "heavily pregnant">> @@ -262,7 +263,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher fucks _him2 in the ass. _He2 never stops struggling, though this isn't much proof of undiminished resistance. After all, the lurcher's dick is so big that _he2'd probably fight to get it out of _his2 butthole even if _he2 weren't in need of breaking. <</if>> <<elseif $phallus == "dick">> - as $activeLurcher.slaveName + as _activeLurcher.slaveName <<if $origin == "virgin">> penetrates _his2 virgin ass. The lurcher has to fuck the slave to claim _him2 for you, and $he knows that a virgin pussy is more valuable than a virgin rosebud. You see $his back stiffen with overstimulation as $he experiences the rare delight of raping an anal virgin. <<elseif $origin == "heavily pregnant">> @@ -277,7 +278,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher fucks _him2 in the ass. _He2 never stops struggling, which is eloquent proof of the slave's undiminished resolve to resist _his2 lot in life. _He2's probably been assraped more than once before today, but _he2 fights this like it's the first time. <</if>> <<elseif $phallus == "clit">> - as $activeLurcher.slaveName + as _activeLurcher.slaveName <<if $origin == "virgin">> grinds $himself against the hare to get $his pseudophallic clit into $his victim's virgin ass. The lurcher has to fuck the slave to claim _him2 for you, and $he knows that a virgin pussy is more valuable than a virgin rosebud. You see $his back stiffen with overstimulation as $his enormous bitch button slips up the slave's asshole. <<elseif $origin == "heavily pregnant">> @@ -292,7 +293,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher grinds $himself against the hare to get $his pseudophallic clit inside $his victim's asshole. The slave never stops struggling, which is eloquent proof of the slave's undiminished resolve to resist _his2 lot in life. _He2's probably been assraped by much larger phalli, but _he2 fights it anyway. <</if>> <<elseif $phallus == "dildo">> - as $activeLurcher.slaveName + as _activeLurcher.slaveName <<if $origin == "virgin">> inserts $his dildo into the slave's virgin ass. The lurcher has to fuck the slave to claim _him2 for you, and $he knows that a virgin pussy is more valuable than a virgin rosebud. The dildo is reasonably sized and well lubricated, but the poor slave shrieks with anal pain anyway. <<elseif $origin == "heavily pregnant">> @@ -307,7 +308,7 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher pushes $his dildo up the slave's ass. The slave never stops struggling, which is eloquent proof of the slave's undiminished resolve to resist _his2 lot in life. _He2's probably had several dildos pushed up _his2 disobedient asshole, but it seems _he2's determined to learn nothing. <</if>> <<else>> - as $activeLurcher.slaveName hesitates over _him2. The lurcher realizes that $he won't be able to get hard. Desperate to avoid failure, $he + as _activeLurcher.slaveName hesitates over _him2. The lurcher realizes that $he won't be able to get hard. Desperate to avoid failure, $he <<if $origin == "virgin">> shoves a couple of fingers into the slave's virgin ass. $He has to fuck the slave to claim _him2 for you, and $he knows that a virgin pussy is more valuable than a virgin rosebud. <<elseif $origin == "heavily pregnant">> @@ -323,32 +324,32 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher <</if>> The crowd is unimpressed by this disappointing display. <</if>> - <<if $activeLurcher.fetishKnown == 1 && $activeLurcher.fetishStrength > 60>> - <<if ($activeLurcher.fetish == "sadist")>> + <<if _activeLurcher.fetishKnown == 1 && _activeLurcher.fetishStrength > 60>> + <<if (_activeLurcher.fetish == "sadist")>> @@.hotpink;What is finest in life,@@ in the mind of your sadistic lurcher? <<if $origin == "virgin">> - To sodomize a virgin asshole, and to <<if canHear($activeLurcher)>>hear<<else>>feel<</if>> screams of anal pain. + To sodomize a virgin asshole, and to <<if canHear(_activeLurcher)>>hear<<else>>feel<</if>> screams of anal pain. <<elseif $origin == "heavily pregnant">> - To molest a pregnant slut, and <<if canHear($activeLurcher)>>hear<<else>>see<</if>> _him2 sob with fear. + To molest a pregnant slut, and <<if canHear(_activeLurcher)>>hear<<else>>see<</if>> _him2 sob with fear. <<elseif $origin == "housewife">> - To rape a stuck-up bitch, and <<if canHear($activeLurcher)>>hear<<else>>see<</if>> _him2 cry with anal pain. + To rape a stuck-up bitch, and <<if canHear(_activeLurcher)>>hear<<else>>see<</if>> _him2 cry with anal pain. <<elseif $origin == "feminized">> - To rape a sissy's asspussy, and <<if canHear($activeLurcher)>>hear<<else>>see<</if>> _him2 squeal. + To rape a sissy's asspussy, and <<if canHear(_activeLurcher)>>hear<<else>>see<</if>> _him2 squeal. <<elseif $origin == "huge balled">> To abuse defenseless testicles, and make their owner scream. <<else>> - To rape a struggling victim, and <<if canTaste($activeLurcher)>>taste<<else>>drink<</if>> _his2 tears of defeat. + To rape a struggling victim, and <<if canTaste(_activeLurcher)>>taste<<else>>drink<</if>> _his2 tears of defeat. <</if>> - <<set $slaves[$lurcherIndex].devotion += 5>> - <<elseif $activeLurcher.fetish == "pregnancy" && $origin == "heavily pregnant">> + <<set _activeLurcher.devotion += 5>> + <<elseif _activeLurcher.fetish == "pregnancy" && $origin == "heavily pregnant">> You lurcher is @@.hotpink;thrilled@@ to have had the privilege of chasing down and raping a pregnant _woman2. - <<set $slaves[$lurcherIndex].devotion += 5>> + <<set _activeLurcher.devotion += 5>> <</if>> <</if>> - <<set $slaves[$lurcherIndex].counter.penetrative += 1, $penetrativeTotal += 1>> + <<set _activeLurcher.counter.penetrative += 1, $penetrativeTotal += 1>> <<run newSlave($activeSlave)>> /* skip New Slave Intro */ <<else>> - <<if $activeLurcher.devotion > 50>> + <<if _activeLurcher.devotion > 50>> $He makes $his way back to you dejectedly, hanging $his head. <<else>> $He makes $his way back to you slowly, doing $his best to look contrite. @@ -358,4 +359,4 @@ You place your hand on the leash's quick release and <<if canHear($activeLurcher <<set $activeSlave = 0>> <</if>> -<<unset $origin, $origin1, $origin2, $origin3, $hareSpeed, $hareSpeed1, $hareSpeed2, $hareSpeed3, $hare1, $hare2, $hare3, $lurcherIndex>> +<<unset $origin, $origin1, $origin2, $origin3, $hareSpeed, $hareSpeed1, $hareSpeed2, $hareSpeed3, $hare1, $hare2, $hare3>> diff --git a/src/uncategorized/slaveAssignmentsReport.tw b/src/uncategorized/slaveAssignmentsReport.tw index dad68e96fb5fb912269ee2119f09b225f70de189..1f9f71182a6c49b01c84c91a051312ba4a096cca 100644 --- a/src/uncategorized/slaveAssignmentsReport.tw +++ b/src/uncategorized/slaveAssignmentsReport.tw @@ -833,22 +833,20 @@ $sexDemandResult.topClass = Math.trunc((($NPCSexSupply.topClass + $slaveJobValue <</if>> <</switch>> -<<if $Lurcher>> - <<if $slaves[$i].ID == $Lurcher.ID>> - <<set $Lurcher = $slaves[$i]>> - <<if !canWalk($Lurcher)>> - <span class='slave-name'>$Lurcher.slaveName</span> is no longer able to run @@.yellow;and cannot course as a lurcher.@@<br> - <<set $Lurcher = 0>> - <<elseif !canHold($Lurcher)>> - <span class='slave-name'>$Lurcher.slaveName</span> is no longer able to catch the hares @@.yellow;and cannot course as a lurcher.@@<br> - <<set $Lurcher = 0>> - <<elseif !canHear($Lurcher) && !canSee($Lurcher)>> - <span class='slave-name'>$Lurcher.slaveName</span> is no longer able to track the hares @@.yellow;and cannot course as a lurcher.@@<br> - <<set $Lurcher = 0>> - <<elseif $Lurcher.bellyPreg >= 60000>> - <span class='slave-name'>$Lurcher.slaveName</span> is too pregnant to run @@.yellow;and cannot course as a lurcher.@@ - <<set $Lurcher = 0>> - <</if>> +<<if $slaves[$i].ID == $LurcherID>> + <<set _Lurcher = slaveStateById($LurcherID)>> + <<if !canWalk(_Lurcher)>> + <span class='slave-name'>_Lurcher.slaveName</span> is no longer able to run @@.yellow;and cannot course as a lurcher.@@<br> + <<set $LurcherID = 0>> + <<elseif !canHold(_Lurcher)>> + <span class='slave-name'>_Lurcher.slaveName</span> is no longer able to catch the hares @@.yellow;and cannot course as a lurcher.@@<br> + <<set $LurcherID = 0>> + <<elseif !canHear(_Lurcher) && !canSee(_Lurcher)>> + <span class='slave-name'>$Lurcher.slaveName</span> is no longer able to track the hares @@.yellow;and cannot course as a lurcher.@@<br> + <<set $LurcherID = 0>> + <<elseif _Lurcher.bellyPreg >= 60000>> + <span class='slave-name'>$Lurcher.slaveName</span> is too pregnant to run @@.yellow;and cannot course as a lurcher.@@ + <<set $LurcherID = 0>> <</if>> <</if>> diff --git a/src/uncategorized/surgeryDegradation.tw b/src/uncategorized/surgeryDegradation.tw index fd04a162c2964fb973a0ad7cf6f9a23f934e1991..e0ec94d70a3dc447140fe4881daa4235f9692293 100644 --- a/src/uncategorized/surgeryDegradation.tw +++ b/src/uncategorized/surgeryDegradation.tw @@ -111,7 +111,7 @@ <<case "amp" "amp1" "ampA2" "ampL2" "blind" "fuckdoll" "mindbreak" "PLimb interface1" "PLimb interface2" "PLimb interface3" "remove eyes" "removeLimbs">> /* unassign if necessary */ <<set _ID = getSlave($AS).ID>> - <<if _ID == $Lurcher.ID>><<set $Lurcher = 0>><</if>> + <<if _ID == $LurcherID>><<set $LurcherID = 0>><</if>> <<run $fighterIDs.deleteWith((f) => f === _ID)>> <<= removeJob(getSlave($AS), getSlave($AS).assignment)>> <</switch>>