diff --git a/slave variables documentation - Pregmod.txt b/slave variables documentation - Pregmod.txt index 8aafdbf84ab080de0dcf5a42e97d782e80c3261d..3a62a921c74391c60317e7e32528849b3b7238d8 100644 --- a/slave variables documentation - Pregmod.txt +++ b/slave variables documentation - Pregmod.txt @@ -1257,6 +1257,19 @@ kemonomimi ear color accepts hColor strings "hairless" +smells: + +sense of smell +-1 - no +0 - yes + +tastes: + +sense of taste +-1 - no +0 - yes + + horn: horn type if any @@ -3578,7 +3591,7 @@ How to set up your own hero slave. -The default slave template used: -<<set $activeSlave = {slaveName: "blank", slaveSurname: 0, birthName: "blank", birthSurname: 0, genes: "XX", pronoun: "she", possessive: "her", possessivePronoun: "hers", objectReflexive: "herself", object: "her", noun: "girl", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFeed: 0, pornFame: 0, pornFameSpending: 0, pornPrestige: 0, pornPrestigeDesc: 0, pornFameType: "none", pornFocus: "none", pornTypeGeneral: 0, pornTypeFuckdoll: 0, pornTypeRape: 0, pornTypePreggo: 0, pornTypeBBW: 0, pornTypeGainer: 0, pornTypeStud: 0, pornTypeLoli: 0, pornTypeDeepThroat: 0, pornTypeStruggleFuck: 0, pornTypePainal: 0, pornTypeTease: 0, pornTypeRomantic: 0, pornTypePervert: 0, pornTypeCaring: 0, pornTypeUnflinching: 0, pornTypeSizeQueen: 0, pornTypeNeglectful: 0, pornTypeCumAddict: 0, pornTypeAnalAddict: 0, pornTypeAttentionWhore: 0, pornTypeBreastGrowth: 0, pornTypeAbusive: 0, pornTypeMalicious: 0, pornTypeSelfHating: 0, pornTypeBreeder: 0, pornTypeSub: 0, pornTypeCumSlut: 0, pornTypeAnal: 0, pornTypeHumiliation: 0, pornTypeBoobs: 0, pornTypeDom: 0, pornTypeSadist: 0, pornTypeMasochist: 0, pornTypePregnancy: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ovaryAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", origRace: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", pupil: "circular", sclerae: "white", eyewear: "none", hears: 0, earwear: "none", earImplant: 0, origHColor: "brown", hColor: "brown", pubicHColor: "brown", underArmHColor: "brown", eyebrowHColor: "brown", origSkin: "light", skin: "light", hLength: 60, eyebrowFullness: "natural", hStyle: "short", pubicHStyle: "neat", underArmHStyle: "neat", eyebrowHStyle: "natural", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute", nipplesPiercing: 0, nipplesAccessory: 0, areolae: 0, areolaePiercing: 0, areolaeShape: "circle", boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, pregAdaptation: 50, superfetation: 0, ovaImplant: 0, wombImplant: "none", broodmother: 0, broodmotherFetuses: 0, broodmotherOnHold: 0, broodmotherCountDown: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", legAccessory: "none", buttplug: "none", buttplugAttachment: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, need: 0, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customTitle: "", customTitleLisp: "", rudeTitle: 0, customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, pregKnown: 0, pregWeek: 0, belly: 0, bellyPreg: 0, bellyFluid: 0, bellyImplant: -1, bellySag: 0, bellySagPreg: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, bodySwap: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, reservedChildrenNursery: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0, origBodyOwner: "", origBodyOwnerID: 0, death: "", hormoneBalance: 0, onDiet: 0, breastMesh: 0, slavesFathered: 0, PCChildrenFathered: 0, slavesKnockedUp: 0, PCKnockedUp: 0, prematureBirth: 0, premature: 0, origSkin: "white", vasectomy: 0, haircuts: 0, newGamePlus: 0, skillHG: 0, skillRC: 0, skillBG: 0, skillMD: 0, skillDJ: 0, skillNU: 0, skillTE: 0, skillAT: 0, skillMT: 0, skillST: 0, skillMM: 0, skillFA: 0, skillWA: 0, skillS: 0, skillE: 0, skillW: 0, tankBaby: 0, geneMods: {NCS: 0, rapidCellGrowth: 0}, NCSyouthening: 0, override_Race: 0, override_Skin: 0, override_Eye_Color: 0, override_H_Color: 0, override_Pubic_H_Color: 0, override_Arm_H_Color: 0, override_Brow_H_Color: 0, albinismOverride: 0, missingEyes: 0, missingArms: 0, missingLegs: 0, slaveCost: 0, lifetimeCashExpenses: 0, lifetimeCashIncome: 0, lastWeeksCashIncome: 0, lifetimeRepExpenses: 0, lifetimeRepIncome: 0, lastWeeksRepIncome: 0, chastityVagina = 0, chastityPenis = 0, chastityAnus = 0}>> +<<set $activeSlave = {slaveName: "blank", slaveSurname: 0, birthName: "blank", birthSurname: 0, genes: "XX", pronoun: "she", possessive: "her", possessivePronoun: "hers", objectReflexive: "herself", object: "her", noun: "girl", weekAcquired: 0, origin: 0, career: 0, ID: 0, prestige: 0, pornFeed: 0, pornFame: 0, pornFameSpending: 0, pornPrestige: 0, pornPrestigeDesc: 0, pornFameType: "none", pornFocus: "none", pornTypeGeneral: 0, pornTypeFuckdoll: 0, pornTypeRape: 0, pornTypePreggo: 0, pornTypeBBW: 0, pornTypeGainer: 0, pornTypeStud: 0, pornTypeLoli: 0, pornTypeDeepThroat: 0, pornTypeStruggleFuck: 0, pornTypePainal: 0, pornTypeTease: 0, pornTypeRomantic: 0, pornTypePervert: 0, pornTypeCaring: 0, pornTypeUnflinching: 0, pornTypeSizeQueen: 0, pornTypeNeglectful: 0, pornTypeCumAddict: 0, pornTypeAnalAddict: 0, pornTypeAttentionWhore: 0, pornTypeBreastGrowth: 0, pornTypeAbusive: 0, pornTypeMalicious: 0, pornTypeSelfHating: 0, pornTypeBreeder: 0, pornTypeSub: 0, pornTypeCumSlut: 0, pornTypeAnal: 0, pornTypeHumiliation: 0, pornTypeBoobs: 0, pornTypeDom: 0, pornTypeSadist: 0, pornTypeMasochist: 0, pornTypePregnancy: 0, prestigeDesc: 0, recruiter: 0, relation: 0, relationTarget: 0, relationship: 0, relationshipTarget: 0, rivalry: 0, rivalryTarget: 0, subTarget: 0, father: 0, mother: 0, daughters: 0, sisters: 0, canRecruit: 0, choosesOwnAssignment: 0, assignment: "rest", assignmentVisible: 1, sentence: 0, training: 0, toyHole: "all her holes", indenture: -1, indentureRestrictions: 0, birthWeek: random(0,51), actualAge: 18, visualAge: 18, physicalAge: 18, ovaryAge: 18, ageImplant: 0, health: 0, minorInjury: 0, trust: 0, oldTrust: 0, devotion: 0, oldDevotion: 0, weight: 0, muscles: 0, height: 170, heightImplant: 0, nationality: "slave", race: "white", origRace: "white", markings: "none", eyes: 1, eyeColor: "brown", origEye: "brown", pupil: "circular", sclerae: "white", eyewear: "none", hears: 0, earwear: "none", earImplant: 0, origHColor: "brown", hColor: "brown", pubicHColor: "brown", underArmHColor: "brown", eyebrowHColor: "brown", origSkin: "light", skin: "light", hLength: 60, eyebrowFullness: "natural", hStyle: "short", pubicHStyle: "neat", underArmHStyle: "neat", eyebrowHStyle: "natural", waist: 0, corsetPiercing: 0, PLimb: 0, amp: 0, heels:0, voice: 2, voiceImplant: 0, accent: 0, shoulders: 0, shouldersImplant: 0, boobs: 0, boobsImplant: 0, boobsImplantType: 0, boobShape: "normal", nipples: "cute", nipplesPiercing: 0, nipplesAccessory: 0, areolae: 0, areolaePiercing: 0, areolaeShape: "circle", boobsTat: 0, lactation: 0, lactationAdaptation: 0, milk: 0, cum: 0, hips: 0, hipsImplant: 0, butt: 0, buttImplant: 0, buttImplantType: 0, buttTat: 0, face: 0, faceImplant: 0, faceShape: "normal", lips: 15, lipsImplant: 0, lipsPiercing: 0, lipsTat: 0, teeth: "normal", tonguePiercing: 0, vagina: 0, vaginaLube: 0, vaginaPiercing: 0, vaginaTat: 0, preg: -1, pregSource: 0, pregType: 0, pregAdaptation: 50, superfetation: 0, ovaImplant: 0, wombImplant: "none", broodmother: 0, broodmotherFetuses: 0, broodmotherOnHold: 0, broodmotherCountDown: 0, labor: 0, births: 0, cSec: 0, bellyAccessory: "none", labia: 0, clit: 0, clitPiercing: 0, clitSetting: "vanilla", foreskin: 0, anus: 0, dick: 0, analArea: 1, dickPiercing: 0, dickTat: 0, prostate: 0, balls: 0, scrotum: 0, ovaries: 0, anusPiercing: 0, anusTat: 0, makeup: 0, nails: 0, brand: 0, brandLocation: 0, earPiercing: 0, nosePiercing: 0, eyebrowPiercing: 0, navelPiercing: 0, shouldersTat: 0, armsTat: 0, legsTat: 0, backTat: 0, stampTat: 0, vaginalSkill: 0, oralSkill: 0, analSkill: 0, whoreSkill: 0, entertainSkill: 0, combatSkill: 0, livingRules: "spare", speechRules: "restrictive", releaseRules: "restrictive", relationshipRules: "restrictive", standardPunishment: "situational", standardReward: "situational", useRulesAssistant: 1, diet: "healthy", dietCum: 0, dietMilk: 0, tired: 0, hormones: 0, drugs: "no drugs", curatives: 0, chem: 0, aphrodisiacs: 0, addict: 0, fuckdoll: 0, choosesOwnClothes: 0, clothes: "no clothing", collar: "none", shoes: "none", vaginalAccessory: "none", dickAccessory: "none", legAccessory: "none", buttplug: "none", buttplugAttachment: "none", intelligence: 0, intelligenceImplant: 0, energy: 50, need: 0, attrXX: 0, attrXY: 0, attrKnown: 0, fetish: "none", fetishStrength: 70, fetishKnown: 0, behavioralFlaw: "none", behavioralQuirk: "none", sexualFlaw: "none", sexualQuirk: "none", oralCount: 0, vaginalCount: 0, analCount: 0, mammaryCount: 0, penetrativeCount: 0, publicCount: 0, pitKills: 0, customTat: "", customLabel: "", customDesc: "", customTitle: "", customTitleLisp: "", rudeTitle: 0, customImage: 0, currentRules: [], bellyTat: 0, induce: 0, mpreg: 0, inflation: 0, inflationType: "none", inflationMethod: 0, milkSource: 0, cumSource: 0, burst: 0, pregKnown: 0, pregWeek: 0, belly: 0, bellyPreg: 0, bellyFluid: 0, bellyImplant: -1, bellySag: 0, bellySagPreg: 0, bellyPain: 0, cervixImplant: 0, birthsTotal: 0, pubertyAgeXX: 13, pubertyAgeXY: 13, scars: 0, breedingMark: 0, bodySwap: 0, HGExclude: 0, ballType: "human", eggType: "human", reservedChildren: 0, reservedChildrenNursery: 0, choosesOwnChastity: 0, pregControl: "none", readyLimbs: [], ageAdjust: 0, bald: 0, origBodyOwner: "", origBodyOwnerID: 0, death: "", hormoneBalance: 0, onDiet: 0, breastMesh: 0, slavesFathered: 0, PCChildrenFathered: 0, slavesKnockedUp: 0, PCKnockedUp: 0, prematureBirth: 0, premature: 0, origSkin: "white", vasectomy: 0, haircuts: 0, newGamePlus: 0, skillHG: 0, skillRC: 0, skillBG: 0, skillMD: 0, skillDJ: 0, skillNU: 0, skillTE: 0, skillAT: 0, skillMT: 0, skillST: 0, skillMM: 0, skillFA: 0, skillWA: 0, skillS: 0, skillE: 0, skillW: 0, tankBaby: 0, geneMods: {NCS: 0, rapidCellGrowth: 0}, NCSyouthening: 0, override_Race: 0, override_Skin: 0, override_Eye_Color: 0, override_H_Color: 0, override_Pubic_H_Color: 0, override_Arm_H_Color: 0, override_Brow_H_Color: 0, albinismOverride: 0, missingEyes: 0, missingArms: 0, missingLegs: 0, slaveCost: 0, lifetimeCashExpenses: 0, lifetimeCashIncome: 0, lastWeeksCashIncome: 0, lifetimeRepExpenses: 0, lifetimeRepIncome: 0, lastWeeksRepIncome: 0, chastityVagina = 0, chastityPenis = 0, chastityAnus = 0, smells: 0, tastes: 0}>> Making your slave; add their name to the following, then go down the documentation adding in your changes. -each variable must be separated from the last by a comma followed by a space diff --git a/src/cheats/PCCheatMenu.tw b/src/cheats/PCCheatMenu.tw index 91ba348cc36da515fdbf9c90b7e9132b3afc535c..f8c2f8c9290f60d8bc1b9c5c64f00c84db7872c1 100644 --- a/src/cheats/PCCheatMenu.tw +++ b/src/cheats/PCCheatMenu.tw @@ -260,7 +260,7 @@ Sex: ''$tempSlave.genes'' <<elseif $tempSlave.medicine >= -40>> Gauze is your friend. Just keep wrapping. <<elseif $tempSlave.medicine >= -60>> - You know how to apply a bandaid. + You know how to apply a band-aid. <<elseif $tempSlave.medicine >= -80>> Cure-alls are wonderful. Why aren't they sold in stores, though? <<else>> @@ -275,7 +275,7 @@ Sex: ''$tempSlave.genes'' <<radiobutton "$tempSlave.medicine" 0>> Basic medic <<radiobutton "$tempSlave.medicine" -10>> Can treat wounds <<radiobutton "$tempSlave.medicine" -30>> First-aid kit user -<<radiobutton "$tempSlave.medicine" -50>> Band-aid applyer +<<radiobutton "$tempSlave.medicine" -50>> Band-aid applier <<radiobutton "$tempSlave.medicine" -70>> MEDIC! <<radiobutton "$tempSlave.medicine" -90>> Give me another beer <br> diff --git a/src/cheats/mod_EditChildCheatNew.tw b/src/cheats/mod_EditChildCheatNew.tw index 36e3c059ae03d7bf0a3511114ab43b0d6c947e6a..9f0b4270ef3f7e341d0b9cf68623f9518945d6af 100644 --- a/src/cheats/mod_EditChildCheatNew.tw +++ b/src/cheats/mod_EditChildCheatNew.tw @@ -1375,7 +1375,7 @@ <br><br> - ''Voice : '' + ''Voice: '' <<switch $tempSlave.voice>> <<case 0>>@@.yellow;Mute@@ <<case 1>>@@.yellow;Deep@@ @@ -1401,6 +1401,15 @@ <<radiobutton "$tempSlave.accent" 3>> Barely Understands Language <br> + ''Sense of Taste: '' + <<switch $tempSlave.tastes>> + <<case 0>>@@.yellow;Normal@@ + <<case -1>>@@.yellow;None@@ + <br> + <<radiobutton "$tempSlave.tastes" 0>> Normal + <<radiobutton "$tempSlave.tastes" -1>> None + <br> + <</widget>> <<widget BodyTab>> diff --git a/src/cheats/mod_EditSlaveCheat.tw b/src/cheats/mod_EditSlaveCheat.tw index 3c8652f564af77774fc1f38b10994449456b0b14..f81f4b9228a3f333d339db820d397ac73ae98ab2 100644 --- a/src/cheats/mod_EditSlaveCheat.tw +++ b/src/cheats/mod_EditSlaveCheat.tw @@ -507,6 +507,13 @@ Unskilled. <<radiobutton "$tempSlave.voice" 2>> Normal <<radiobutton "$tempSlave.voice" 3>> High +<br> +''Sense of Taste (0,-1): $tempSlave.tastes |'' +<<textbox "$tempSlave.tastes" $tempSlave.tastes>> +<br> +<<radiobutton "$tempSlave.tastes" 0>> Normal +<<radiobutton "$tempSlave.tastes" -1>> None + <br><br> ''Weight (-100 to 100):'' diff --git a/src/cheats/mod_editSlaveCheatNew.tw b/src/cheats/mod_editSlaveCheatNew.tw index 24c39f3723d6cd57901c3c37d22783790e57bfda..a0c835d59db75d9052008116adf4dd59f18461b7 100644 --- a/src/cheats/mod_editSlaveCheatNew.tw +++ b/src/cheats/mod_editSlaveCheatNew.tw @@ -2040,6 +2040,15 @@ <<radiobutton "$tempSlave.voiceImplant" 2>> Much Higher <br> + ''Sense of Taste: '' + <<switch $tempSlave.tastes>> + <<case 0>>@@.yellow;Normal@@ + <<case -1>>@@.yellow;None@@ + <br> + <<radiobutton "$tempSlave.tastes" 0>> Normal + <<radiobutton "$tempSlave.tastes" -1>> None + <br> + <</widget>> <<widget BodyTab>> diff --git a/src/events/intro/introSummary.tw b/src/events/intro/introSummary.tw index 662adbdc68b12e729b48b70b073c8d3eab09c8c6..3ffdf01ec248a401d0475306bf09efe78fc70ae7 100644 --- a/src/events/intro/introSummary.tw +++ b/src/events/intro/introSummary.tw @@ -730,7 +730,7 @@ __''Player Character''__ <<set _PCCreationCareer = "a member of the idle wealthy">> <</switch>> <br> - Before you came to the free cities, you were ''_PCCreationCareer'' and it is rumoured that you acquired your arcology through ''$PC.rumor''. + Before you came to the free cities, you were ''_PCCreationCareer'' and it is rumored that you acquired your arcology through ''$PC.rumor''. <br>__Past career:__ <<if $PC.career != "arcology owner">> diff --git a/src/js/SlaveState.js b/src/js/SlaveState.js index 5dc8c25d9551a4110ed785c4d8267d2df3ee0171..783e051e00a96719ffb795ce54ae790415c76f62 100644 --- a/src/js/SlaveState.js +++ b/src/js/SlaveState.js @@ -333,6 +333,12 @@ App.Entity.SlaveState = class SlaveState { /**kemonomimi ear color * "hairless" */ this.earTColor = "hairless"; + /** sense of smell + 0 - yes, -1 - no */ + this.smells = 0; + /** sense of taste + 0 - yes, -1 - no */ + this.tastes = 0; /**horn type if any * "none", "curved succubus horns", "backswept horns", "cow horns", "one long oni horn", "two long oni horns", "small horns" */ this.horn = "none"; diff --git a/src/js/datatypeCleanupJS.js b/src/js/datatypeCleanupJS.js index 28e29af6d747d17c13245c9e5ba9cc86c0467994..c35293239983c89f788814b3d78154d0eeee2d9a 100644 --- a/src/js/datatypeCleanupJS.js +++ b/src/js/datatypeCleanupJS.js @@ -631,6 +631,8 @@ window.SlaveDatatypeCleanup = (function SlaveDatatypeCleanup() { slave.indentureRestrictions = Math.clamp(+slave.indentureRestriction, 0, 2) || 0; slave.tired = Math.clamp(+slave.tired, 0, 1) || 0; slave.hears = Math.clamp(+slave.hears, -2, 0) || 0; + slave.smells = Math.clamp(+slave.smells, -1, 0) || 0; + slave.tastes = Math.clamp(+slave.tastes, -1, 0) || 0; if (typeof slave.earwear !== "string") { slave.earwear = "none"; } @@ -1173,6 +1175,8 @@ window.childMiscellaneousDatatypeCleanup = function childMiscellaneousDatatypeCl child.training = Math.clamp(+child.training, 0, 150) || 0; child.tired = Math.clamp(+child.tired, 0, 1) || 0; child.hears = Math.clamp(+child.hears, -2, 0) || 0; + child.smells = Math.clamp(+child.smells, -1, 0) || 0; + child.tastes = Math.clamp(+child.tastes, -1, 0) || 0; if (typeof child.earwear !== "string") { child.earwear = "none"; } diff --git a/src/js/storyJS.js b/src/js/storyJS.js index 71cf2dc29e353c7a90ec16acccefe723d0e3f152..fcc99af35f0efccb5909c061dd470f64aa9e5d01 100644 --- a/src/js/storyJS.js +++ b/src/js/storyJS.js @@ -291,6 +291,26 @@ window.canHear = /** @param {App.Entity.SlaveState} slave */ function (slave) { } }; +window.canSmell = /** @param {App.Entity.SlaveState} slave */ function (slave) { + if (!slave) { + return null; + } else if (slave.smells > -1) { + return true; + } else { + return false; + } +}; + +window.canTaste = /** @param {App.Entity.SlaveState} slave */ function (slave) { + if (!slave) { + return null; + } else if (slave.tastes > -1) { + return true; + } else { + return false; + } +}; + window.canWalk = /** @param {App.Entity.SlaveState} slave */ function (slave) { if (!slave) { return null; diff --git a/src/npc/startingGirls/startingGirls.tw b/src/npc/startingGirls/startingGirls.tw index 0d98ea8cb6c91d8f0f1084b46d40ca2241683c87..a76c4ac5094bebbded33c1549a3ce70aafaea0b3 100644 --- a/src/npc/startingGirls/startingGirls.tw +++ b/src/npc/startingGirls/startingGirls.tw @@ -819,8 +819,8 @@ Her nationality is $activeSlave.nationality. <<else>>Normal. <</if>> <<else>> -<<if $activeSlave.hears == -1>>Hard of hearing. -<<else>>Normal. + <<if $activeSlave.hears == -1>>Hard of hearing. + <<else>>Normal. <</if>> <</if>> </span> @@ -831,6 +831,26 @@ Her nationality is $activeSlave.nationality. <<link "Deaf">><<set $activeSlave.hears = -2>><<replace "#hearing">>Deaf.<</replace>><<StartingGirlsCost>><</link>> <</if>> +<<if $seeExtreme == 1>> +<br>''Smell:'' +<span id="smell"> + <<if $activeSlave.smells == -1>>None. + <<else>>Normal. + <</if>> +</span> +<<link "Normal">><<set $activeSlave.smells = 0>><<replace "#smell">>Normal.<</replace>><<StartingGirlsCost>><</link>> | +<<link "None">><<set $activeSlave.smells = -1>><<replace "#smell">>None.<</replace>><<StartingGirlsCost>><</link>> + +<br>''Taste:'' +<span id="taste"> + <<elseif $activeSlave.tastes == -1>>None. + <<else>>Normal. + <</if>> +</span> +<<link "Normal">><<set $activeSlave.tastes = 0>><<replace "#taste">>Normal.<</replace>><<StartingGirlsCost>><</link>> | +<<link "None">><<set $activeSlave.tastes = -1>><<replace "#taste">>None.<</replace>><<StartingGirlsCost>><</link>> +<</if>> + <br><br>''Breasts:'' <span id="boobs"> <<if $activeSlave.boobs <= 200>>Flat. diff --git a/src/pregmod/fFeet.tw b/src/pregmod/fFeet.tw index 1dce3855d4c85b5292409f46b01604c26b649cf1..2c5d7735b5356d5d4a24ab7b4a85be91f9c8636f 100644 --- a/src/pregmod/fFeet.tw +++ b/src/pregmod/fFeet.tw @@ -526,9 +526,9 @@ You call $activeSlave.slaveName to your office, telling $him to use $his feet to <</if>> <<else>> <<if cumAmount($activeSlave) > 20>> - $he strokes $his _dick penis, swollen _balls testicles bulging between $his thighs, asshole clenching as $he's massive cumshot splashes noisily onto the floor. + $he strokes $his _dick penis, swollen _balls testicles bulging between $his thighs, asshole clenching as $his massive cumshot splashes noisily onto the floor. <<else>> - $he strokes $his _dick penis, asshole clenching as $he's cum spurts onto the floor. + $he strokes $his _dick penis, asshole clenching as $his cum spurts onto the floor. <</if>> <</if>> <<elseif $activeSlave.vagina >= 0>> @@ -559,14 +559,14 @@ You call $activeSlave.slaveName to your office, telling $him to use $his feet to <<if $PC.balls > 1>> <<if $activeSlave.dick > 0>> <<if cumAmount($activeSlave) > 20>> - $His _balls balls visibly throb as _dick dick unloads a massive amount of cum, adding $his own semen to $his body, resulting in a slave utterly plastered in spunk. $His eyes are held shut with a thick layer of cum, and judging by how <<if ($activeSlave.chastityPenis == 1)>>$he's dick is still shooting cum even in a cage with no stimulation,<<else>>furiously $he is masturbating,<</if>> $he couldn't be happier. + $His _balls balls visibly throb as _dick dick unloads a massive amount of cum, adding $his own semen to $his body, resulting in a slave utterly plastered in spunk. $His eyes are held shut with a thick layer of cum, and judging by how <<if ($activeSlave.chastityPenis == 1)>>$his dick is still shooting cum even in a cage with no stimulation,<<else>>furiously $he is masturbating,<</if>> $he couldn't be happier. <<else>> - $His _dick dick unloads onto $his belly and $boobs chest, and $his giggles and gasps as it rains down with audible splats. $He is splattered in semen, face coated in your cum, and judging by $his nostrils desperately taking in the heady smell and how <<if ($activeSlave.chastityPenis == 1)>>$he's dick is still throbbing in orgasm even in a cage with no stimulation,<<else>>$he can't stop masturbating,<</if>> $he couldn't be happier. + $His _dick dick unloads onto $his belly and $boobs chest, and $his giggles and gasps as it rains down with audible splats. $He is splattered in semen, face coated in your cum, and judging by <<if canSmell($activeSlave)>>$his nostrils desperately taking in the heady smell and <</if>>how <<if ($activeSlave.chastityPenis == 1)>>$his dick is still throbbing in orgasm even in a cage with no stimulation,<<else>>$he can't stop masturbating,<</if>> $he couldn't be happier. <</if>> <<elseif $activeSlave.vagina >= 0>> - $He leans back and moans in pleasure, $his <<if $activeSlave.vaginaLube == 1>>wet <<elseif $activeSlave.vaginaLube == 2>>dripping wet <</if>>pussy and asshole clenching. $He is splattered in semen, face coated in your cum, and judging by $his nostrils desperately taking in your scent and how $he can't stop masturbating, $he couldn't be happier. + $He leans back and moans in pleasure, $his <<if $activeSlave.vaginaLube == 1>>wet <<elseif $activeSlave.vaginaLube == 2>>dripping wet <</if>>pussy and asshole clenching. $He is splattered in semen, face coated in your cum, and judging by <<if canSmell($activeSlave)>>$his nostrils desperately taking in your scent and <</if>>how $he can't stop masturbating, $he couldn't be happier. <<else>> - $He leans back and moans in pleasure, asshole pulsating. $He is splattered in semen, face coated in your cum, and judging by $his nostrils desperately taking in your scent and how $he can't stop masturbating, $he couldn't be happier. + $He leans back and moans in pleasure, asshole pulsating. $He is splattered in semen, face coated in your cum, and judging by <<if canSmell($activeSlave)>>$his nostrils desperately taking in your scent and <</if>>how $he can't stop masturbating, $he couldn't be happier. <</if>> <<else>> $activeSlave.slaveName leans down to wipe semen off $his feet, quickly bringing it into $his mouth with a blissful look as $he tastes your cum and sighs in pleasure. diff --git a/src/pregmod/forceFeeding.tw b/src/pregmod/forceFeeding.tw index 97a9be36b5ef36018763b52d5671b038b53cf3b1..ce4ee84cf8421e7fbfbf02c8bebc34a4c6db8fd0 100644 --- a/src/pregmod/forceFeeding.tw +++ b/src/pregmod/forceFeeding.tw @@ -23,15 +23,15 @@ buckets overflowing with slave food. $He is going to eat it all and you're going to enjoy $him as $he does it. <<if $activeSlave.inflation > 1 && $activeSlave.preg > 1>> - $He looks nauseated by the <<if canSee($activeSlave)>>sight<<else>>smell<</if>> of the food. + $He looks nauseated by the <<if canSee($activeSlave)>>sight<<elseif canSmell( $activeSlave)>>smell<<else>>very existence<</if>> of the food. <<elseif $activeSlave.fetish == "submissive" && $activeSlave.devotion >= -20>> $He blushes at the thought of being forced to eat for another's amusement. <<elseif $activeSlave.behavioralFlaw == "gluttonous" && $activeSlave.devotion >= -20>> $He's awestruck that you approve of $his gluttony enough to present $him a feast. <<elseif $activeSlave.behavioralFlaw == "gluttonous">> - $He's hesitant about your intent, but $he gives in as $his belly begins to growl at the <<if canSee($activeSlave)>>sight<<else>>smell<</if>> of $his waiting meal. + $He's hesitant about your intent, but $he gives in as $his belly begins to growl at the <<if canSee($activeSlave)>>sight<<elseif canSmell( $activeSlave)>>smell<<else>>anticipation<</if>> of $his waiting meal. <<elseif $activeSlave.behavioralFlaw == "anorexic">> - $He grimaces at the <<if canSee($activeSlave)>>sight<<else>>smell<</if>> of the food that will soon be going into $him. $He knows you won't let it come back up later. + $He grimaces at the <<if canSee($activeSlave)>>sight<<elseif canSmell( $activeSlave)>>smell<<else>>thought<</if>> of the food that will soon be going into $him. $He knows you won't let it come back up later. <</if>> <<if canWalk($activeSlave)>> diff --git a/src/pregmod/widgets/bodyswapWidgets.tw b/src/pregmod/widgets/bodyswapWidgets.tw index 8131801c5b9a590feacb88635b1a55cec4a94ee0..1f1814b790f5b2ab0cbfcd27a7c93a5dc1f89c1d 100644 --- a/src/pregmod/widgets/bodyswapWidgets.tw +++ b/src/pregmod/widgets/bodyswapWidgets.tw @@ -74,6 +74,8 @@ <<set $args[0].earShape = $args[1].earShape>> <<set $args[0].earT = $args[1].earT>> <<set $args[0].earTColor = $args[1].earTColor>> +<<set $args[0].smells = $args[1].smells>> +<<set $args[0].tastes = $args[1].tastes>> <<set $args[0].horn = $args[1].horn>> <<set $args[0].hornColor = $args[1].hornColor>> <<set $args[0].PTail = $args[1].PTail>> diff --git a/src/uncategorized/RESS.tw b/src/uncategorized/RESS.tw index 4b11b47efc97a0ca5e9279cf0218632498e6b6c8..9a0423324cc1bf493325284a0856e92640b750f4 100644 --- a/src/uncategorized/RESS.tw +++ b/src/uncategorized/RESS.tw @@ -8483,7 +8483,7 @@ You tell $him kindly that you understand, and that $he'll be trained to address <<if $activeSlave.belly >= 600000>> You struggle to heft $his overfilled body up, eliciting whimpers of joy at the impending relief and the pressure removed from $his body, and carefully secure $him with a few straps so $he can serve as your living cocksleeve. $He's attached to the front of your torso<<if $activeSlave.belly >= 5000>>, $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>> forcing you to experience what it is like to carry $activeSlave.pregType children,<</if>> with your cock up inside $him, and the gentle motion of your member as you waddle outside brings $him to climax within a few steps. You carefully stroll around the nicer levels of the arcology, admiring the views and <<if canSee($activeSlave)>>showing $activeSlave.slaveName the sights $he now requires assistance to see<<else>>explaining the sights as $activeSlave.slaveName soaks in the sounds and smells $he now requires assistance to experience<</if>> and leaving a large wake as people make room for your gravid mass. @@.hotpink;$He has become more devoted to you.@@ The sight of you waddling around with a living fucktoy on your cock @@.green;certainly cements your reputation as an arcology owner who has everything,@@ once they figure out that the belly attached to you is, in fact, owned by a barely visible slavegirl. <<elseif $activeSlave.belly >= 300000>> - You heft $his heavy body $him up, eliciting whimpers of joy at the impending relief, and carefully secure $him with a few straps so $he can serve as your living cocksleeve. $He's attached to the front of your torso<<if $activeSlave.belly >= 5000>>, $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>> massively jutting out in front of you,<</if>> with your cock up inside $him, and the gentle motion of your member as you waddle outside brings $him to climax within a few steps. You carefully stroll around the nicer levels of the arcology, admiring the views and <<if canSee($activeSlave)>>showing $activeSlave.slaveName the sights $he now requires assistance to see<<else>>explaining the sights as $activeSlave.slaveName soaks in the sounds and smells $he now requires assistance to experience<</if>>. @@.hotpink;$He has become more devoted to you.@@ The sight of you waddling around with a living fucktoy on your cock @@.green;certainly cements your reputation as an arcology owner who has everything.@@ + You heft $his heavy body $him up, eliciting whimpers of joy at the impending relief, and carefully secure $him with a few straps so $he can serve as your living cocksleeve. $He's attached to the front of your torso<<if $activeSlave.belly >= 5000>>, $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>> massively jutting out in front of you,<</if>> with your cock up inside $him, and the gentle motion of your member as you waddle outside brings $him to climax within a few steps. You carefully stroll around the nicer levels of the arcology, admiring the views and <<if canSee($activeSlave)>>showing $activeSlave.slaveName the sights $he now requires assistance to see<<elseif canHear($activeSlave)>>explaining the sights as $activeSlave.slaveName soaks in the sounds <<if canSmell($activeSlave)>>and smells <</if>>$he now requires assistance to experience<<else>>explaining everything around $him as $he basks in the feeling of the fresh air on $his $activeSlave.skin skin<</if>>. @@.hotpink;$He has become more devoted to you.@@ The sight of you waddling around with a living fucktoy on your cock @@.green;certainly cements your reputation as an arcology owner who has everything.@@ <<else>> You scoop $him up, eliciting whimpers of joy at the impending relief, and carefully secure $him with a few straps so $he can serve as your living cocksleeve. $He's attached to the front of your torso<<if $activeSlave.belly >= 5000>>, $his _belly <<if $activeSlave.bellyPreg >= 3000>>pregnancy<<else>>stomach<</if>> jutting out in front of you,<</if>> with your cock up inside $him, and the gentle motion of your member as you walk outside brings $him to climax within a few steps. You take your time and stroll around the nicer levels of the arcology, admiring the views and <<if canSee($activeSlave)>>showing $activeSlave.slaveName the sights $he now requires assistance to see<<else>>explaining the sights as $activeSlave.slaveName soaks in the sounds and smells $he now requires assistance to experience<</if>>. @@.hotpink;$He has become more devoted to you.@@ The sight of you walking around with a living fucktoy on your cock @@.green;certainly cements your reputation as an arcology owner who has everything.@@ <</if>> diff --git a/src/uncategorized/saDiet.tw b/src/uncategorized/saDiet.tw index 90025b5c438f3cf3191cb7136580ed99f2b608b8..4adb389443c9494cc71dd049af4871c5f1fbbcd4 100644 --- a/src/uncategorized/saDiet.tw +++ b/src/uncategorized/saDiet.tw @@ -770,6 +770,12 @@ <<if $slaves[$i].chem > 2>> <<set $slaves[$i].chem -= 2>> <</if>> + <<elseif !canSmell($slaves[$i]) && !canTaste($slaves[$i])>> + $His diet tastes and smells awful, but $he is incapable of recognizing it, allowing $him to feel nothing but its @@.green;significant restorative effect.@@ + <<set $slaves[$i].trust++, $slaves[$i].health += 2>> + <<if $slaves[$i].chem > 2>> + <<set $slaves[$i].chem -= 2>> + <</if>> <<elseif $slaves[$i].sexualFlaw == "self hating">> $His diet @@.hotpink;tastes and smells awful,@@ the perfect meal for such a wretched creature as $himself. $He knows you are @@.green;preserving $his health@@ but doesn't understand why you'd waste time and credits on $him. <<set $slaves[$i].devotion += 2, $slaves[$i].health += 2>> diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw index e30373fc953b81aa7c8fc7ea10366238dd8f130a..5cf2258b1904ad1be3b5827ed7f45c80d66ac6f5 100644 --- a/src/uncategorized/saLongTermEffects.tw +++ b/src/uncategorized/saLongTermEffects.tw @@ -5041,11 +5041,11 @@ <<elseif $slaves[$i].devotion > 20>> Since $he's blind, deaf and on the cusp of devotion, $he becomes @@.hotpink;more reliant@@ on you, but also begins to be @@.mediumaquamarine;less fearful@@ of the world around $him. <<set $slaves[$i].devotion += 5, $slaves[$i].trust += 3>> - <<elseif ["please you", "be your Concubine", "serve in the master suite"].includes($slaves[$i].assignment)>> + <<elseif ["be your Concubine", "please you", "serve in the master suite"].includes($slaves[$i].assignment)>> $He may be blind and deaf, but $he knows nobody would dare harm $him under your watch, @@.mediumaquamarine;building $his trust@@ in you. <<set $slaves[$i].trust += 2>> <<elseif $slaves[$i].devotion >= -20>> - $His blindness and deafness forces $him to @@.hotpink;entirely rely@@ on your mercy. However, it only @@.gold;amplifies $his fear@@ as $he has only the smell of arousal to warn of an impending threat. + $His blindness and deafness forces $him to @@.hotpink;entirely rely@@ on your mercy. However, it only @@.gold;amplifies $his fear@@ as $he has only <<if canSmell($slaves[$i])>>the smell of arousal<<else>>a stumbling sense of touch<</if>> to warn of an impending threat. <<set $slaves[$i].devotion += 10, $slaves[$i].trust -= 30>> <<else>> Being blind and deaf forces $him to @@.hotpink;completely rely@@ on your mercy. It does nothing to stem @@.gold;the horror@@ $he faces being unable to sense the world around $him. diff --git a/src/uncategorized/slaveStats.tw b/src/uncategorized/slaveStats.tw index 8f30341551d85c7ad755535dcc59b21e1f2f6294..85e00ee250b9940225ccbb515e6ea6be924a1f81 100644 --- a/src/uncategorized/slaveStats.tw +++ b/src/uncategorized/slaveStats.tw @@ -114,6 +114,8 @@ slaveName: $activeSlave.slaveName /* TODO: figure out why this is being inden <br>hears: $activeSlave.hears <br>earwear: $activeSlave.earwear <br>earImplant: $activeSlave.earImplant +<br>smells: $activeSlave.smells +<br>tastes: $activeSlave.tastes <br>origHColor: $activeSlave.origHColor <br>hColor: $activeSlave.hColor <br>pubicHColor: $activeSlave.pubicHColor