You got loot! <br> <br>
<<link "Loot everything and continue">>
<<for _i to 0; _i lt $battleLoot.length; _i++>> <<set _id to $battleLoot[_i][0]>><<lootItem setup[_id].cat $battleLoot[_i][0] $battleLoot[_i][1]>>
<</for>>
<<set $battleLoot to []>>
<<goto $aftermath>>
<</link>>
<br> <br>
<<for _i to 0; _i lt $battleLoot.length; _i++>> <<capture _i>>
<div class="cardBox"> <<set _id to $battleLoot[_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $battleLoot[_i][2] isnot undefined>> (<<= $battleLoot[_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $battleLoot[_i][1]>> <<else>> <<percent $battleLoot[_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <br>
<<link "Loot" "Fight Loot">> <<lootItem setup[_id].cat $battleLoot[_i][0] $battleLoot[_i][1]>> <<set $battleLoot.deleteAt(_i)>> <</link>>
<</capture>> </div>
<</capture>>
<</for>>
<br> <br>
<<link "Continue">> <<goto $aftermath>> <</link>><<widget "addBattleLoot">>
<<set _get to random(0, 100)>>
<<set _luck to Math.trunc(_args[0] *(1 +($perk.luck /100)))>>
<<if _get lte _luck>>
<<if _args[1] is "misc">>
<<set _rar to random(_args[3], _args[4])>>
<<if _args[5] is undefined>>
<<set $battleLoot.push([_args[2], _rar ])>>
<<else>> <<set $battleLoot.push([_args[2], _rar, _args[5] ])>><</if>>
<<elseif _args[1] is "clothing">>
<<set _rar to random(_args[3], _args[4])>>
<<set _color to "random color">>
<<for _color is "random color">>
<<set _color to setup.color.random()>> <</for>>
<<set $battleLoot.push([_args[2], _rar, _color] )>>
<<elseif _args[1] is "internalNode">>
<<set _bl to weightedEither(setup.RandomNode)>> <<set $battleLoot.push([_bl, 1])>>
<<elseif _args[1] is "uncommonEquipment">>
<<set _bl to setup.equipment.any.Uncommon.random()>> <<set _dura to Math.trunc(setup[_bl].dura *(random(40, 80) /100))>> <<set $battleLoot.push([_bl, _dura])>>
<<elseif _args[1] is "commonEquipment">>
<<set _bl to setup.equipment.any.Common.random()>> <<set _dura to Math.trunc(setup[_bl].dura *(random(40, 80) /100))>> <<set $battleLoot.push([_bl, _dura])>>
<<elseif _args[1] is "commonPart">>
<<set _bl to setup.commonBodyParts.random()>> <<set _dura to Math.trunc(setup[_bl].dura *(random(30, 80) /100))>> <<set $battleLoot.push([_bl, _dura])>>
<<elseif _args[1] is "uncommonPart">>
<<set _bl to setup.uncommonBodyParts.random()>> <<set _dura to Math.trunc(setup[_bl].dura *(random(30, 80) /100))>> <<set $battleLoot.push([_bl, _dura])>>
<<elseif _args[1] is "rarePart">>
<<set _bl to setup.rareBodyParts.random()>> <<set $battleLoot.push([_bl, setup[_bl].dura])>>
<</if>>
<</if>>
<</widget>><<widget "enemyGear">>
<<if _args.includes("force") is false>>
<<if _args[0] is "CommonHuman">>
<<set _cat to weightedEither({
common: 150, uncommon: 50,
})>>
<<if _cat is "common">>
<<set _gear to weightedEither({
ShockBaton: 10,
DrainBaton: 10,
BodyArmor: 10,
Shield: 10,
MagBoots: 10,
})>>
<<elseif _cat is "uncommon">>
<<set _gear to weightedEither({
ReShield: 10,
MagShield: 10,
ShockRepulsor: 10,
AdapShield: 10,
ForceGather: 10,
SlowShield: 10,
})>>
<<else>> <<set _gear to "none">>
<</if>>
<<else>> <<set _gear to weightedEither(setup[_args[0]])>>
<</if>>
<<else>>
<<set _gear to _args[0]>>
<</if>>
<<if _gear is "none">>
<<elseif _gear is "ShockBaton">>
<<set _foe.gear.push(["Shock Baton", "Attacks from this enemy are shocking."])>>
<<set _foe.passive.push("EnemyPassiveShockAttack")>>
<<elseif _gear is "BodyArmor">>
<<set _foe.gear.push(["Body Armor", "Takes less Physical damage per stack. Loses stacks when taking Medium or Heavy damage."])>>
<<set _charges to random(8, 12)>>
<<set _foe.status.push(["EnemyStatusArmor", _charges])>>
<<elseif _gear is "DrainBaton">>
<<set _foe.gear.push(["Drain Baton", "Attacks from this enemy will weaken you."])>>
<<set _foe.passive.push("EnemyPassiveWeakAttack")>>
<<elseif _gear is "Shield">>
<<set _foe.gear.push(["Shield", "Blocks one attack per stack."])>>
<<set _charges to random(2, 3)>>
<<set _foe.status.push(["EnemyStatusShield", _charges])>>
<<elseif _gear is "MagBoots">>
<<set _foe.gear.push(["MagBoots", "Increases mobility."])>>
<<set _foe.passive.push("EnemyPassiveNimble")>>
<<elseif _gear is "Steel">>
<<set _foe.gear.push(["Armor Vest", "Takes much less Light damage."])>>
<<set _foe.res.Light to Math.clamp(_foe.res.Light += 100, 0, 80)>>
<<elseif _gear is "ReShield">>
<<set _foe.gear.push(["ReShield", "Redirects attacks back to you until it runs out of charges."])>>
<<set _charges to random(1, 2)>>
<<set _foe.status.push(["EnemyStatusReShield", _charges])>>
<<elseif _gear is "MagShield">>
<<set _foe.gear.push(["MagShield", "Reduces Physical damage taken until it runs out of charges."])>>
<<set _charges to random(6, 8)>>
<<set _foe.status.push(["EnemyStatusMagShield", _charges])>>
<<elseif _gear is "ShockRepulsor">>
<<set _foe.gear.push(["ShockRepulsor", "Redirects Electric attacks back to you."])>>
<<set _foe.status.push(["EnemyStatusShockRepulsor", 1])>>
<<elseif _gear is "AdapShield">>
<<set _foe.gear.push(["AdapShield", "Reduces damage taken while NOT stunned."])>>
<<set _foe.status.push(["EnemyStatusAdapShield", 1])>>
<<elseif _gear is "ForceGather">>
<<set _foe.gear.push(["ForceGather", "Every time you attack this enemy it gains more damage."])>>
<<set _foe.status.push(["EnemyStatusForceGather", 1])>>
<<elseif _gear is "SlowShield">>
<<set _foe.gear.push(["SlowShield", "Takes less Medium damage and much less Heavy damage."])>>
<<set _foe.res.Medium to Math.clamp(_foe.res.Medium += 60, 0, 60)>>
<<set _foe.res.Heavy to Math.clamp(_foe.res.Heavy += 100, 0, 80)>>
<<else>>
<<= setup[_gear]>>
<</if>>
<</widget>><<widget "enemyStrike">>
<<if _playerDodge is undefined>>
<<set _damage to _args[0]>> <<set _damage *= random(8, 12)>>
<<if _args.includes("noOrigin") is false>>
<<for _d to 0; _d lt $whenHit.length; _d++>>
<<= setup[$whenHit[_d]]>>
<</for>>
<<if $enemy.length gt 0 and $enemy[_i] isnot undefined and $enemy[_i].status isnot undefined>>
<<for _d to 0; _d lt $enemy[_i].status.length; _d++>>
<<if setup[$enemy[_i].status[_d][0]].onAttack isnot undefined>>
<<= setup[$enemy[_i].status[_d][0]].onAttack>>
<</if>>
<</for>>
<<for _d to 0; _d lt $enemy[_i].passive.length; _d++>>
<<if setup[$enemy[_i].passive[_d]].onAttack isnot undefined>>
<<= setup[$enemy[_i].passive[_d]].onAttack>>
<</if>>
<</for>>
<</if>>
<</if>>
<<if _args.includes("IgnoreProt") is false>>
<<set _protection to $playerStat.Protection>>
<<set _damage = _damage * (1 - _protection / (_protection + 7 * Math.sqrt(_damage)))>>
<<if _dmgAbsorption is undefined>> <<set _dmgAbsorption to $att[1] *10>> <</if>>
<<set _damage to Math.trunc(_damage /(_dmgAbsorption /100))>>
<</if>>
<<if _args.includes("Spank")>>
⚔️ You get hit! <<set _healthDamage to Math.trunc(_damage /5)>> <<loseNeed 0 _healthDamage>>
<<set _mentalDamage to Math.trunc(_damage /4)>> <<loseNeed 3 _mentalDamage>> <<if $neg[0] gte $maxNeg[0] *0.5>> <<trauma 2 0>> <</if>>
<<set _damage to Math.trunc(_damage /10)>>
<<set _raw to _damage *(1 + ($neg[5] /$maxNeg[5]))>>
<<set _raw to _damage /(1 + ($neg[6] /$maxNeg[6]))>>
<<gainNeg 0 _raw>> <<random 5 10>> <<gainAtt 1 _ran>>
<<else>>
⚔️ You get hit! <<set _healthDamage to Math.trunc(_damage /2)>> <<loseNeed 0 _healthDamage>>
<<set _mentalDamage to Math.trunc(_damage /4)>> <<loseNeed 3 _mentalDamage>> <<if $neg[0] gte $maxNeg[0] *0.5>> <<trauma 2 0>> <</if>>
<<set _damage to Math.trunc(_damage /10)>>
<<set _raw to _damage *(1 + ($neg[5] /$maxNeg[5]))>>
<<set _raw to _damage /(1 + ($neg[6] /$maxNeg[6]))>>
<<gainNeg 0 _raw>> <<random 5 10>> <<gainAtt 1 _ran>>
<</if>>
<<questFlag playerHit>>
<<if _args.includes("noOrigin") is false>>
<<if $enemy.length gt 0 and $enemy[_i] isnot undefined>>
<<for _d to 0; _d lt $enemy[_i].status.length; _d++>>
<<if setup[$enemy[_i].status[_d][0]].afterAttack isnot undefined>>
<<= setup[$enemy[_i].status[_d][0]].afterAttack>>
<</if>>
<</for>>
<<for _d to 0; _d lt $enemy[_i].passive.length; _d++>>
<<if setup[$enemy[_i].passive[_d]].afterAttack isnot undefined>>
<<= setup[$enemy[_i].passive[_d]].afterAttack>>
<</if>>
<</for>>
<</if>>
<</if>>
<<else>> <span style="color:gold"> Dodged! </span> <<if _dodgeGain is 1>> <<random 8 12>> <<gainAtt 4 _ran>> <</if>>
<</if>>
<</widget>>
<<widget "enemyGuard">>
Taking less Physical damage this turn! <<set $enemy[_i].guard to $enemy[_i].defense>>
<<for _d to 0; _d lt $enemy[_i].status.length; _d++>>
<<if setup[$enemy[_i].status[_d][0]].onGuard isnot undefined>>
<<= setup[$enemy[_i].status[_d][0]].onGuard>>
<</if>>
<</for>>
<<for _d to 0; _d lt $enemy[_i].passive.length; _d++>>
<<if setup[$enemy[_i].passive[_d]].onGuard isnot undefined>>
<<= setup[$enemy[_i].passive[_d]].onGuard>>
<</if>>
<</for>>
<</widget>>
<<widget "enemyHeal">>
<<set $enemy[_args[1]].hp to Math.clamp($enemy[_args[1]].hp + _args[0], 0, $enemy[_args[1]].maxHp)>>
<<set _healed to 1>>
<</widget>>
<<widget "enemyClaw">>
<<if _playerDodge is undefined>>
<<set _damage to _args[0]>> <<set _damage *= random(8, 12)>>
<<if _args.includes("noOrigin") is false>>
<<for _d to 0; _d lt $enemy[_i].status.length; _d++>>
<<if setup[$enemy[_i].status[_d][0]].onAttack isnot undefined>>
<<= setup[$enemy[_i].status[_d][0]].onAttack>>
<</if>>
<</for>>
<</if>>
<<set _protection to $playerStat.Protection>>
<<set _damage = _damage * (1 - _protection / (_protection + 7 * Math.sqrt(_damage)))>>
<<if _dmgAbsorption is undefined>> <<set _dmgAbsorption to $att[1] *10>> <</if>>
<<set _damage to Math.trunc(_damage /(_dmgAbsorption /100))>>
<<set _clothing to {
"upper body": 10,
"lower body": 10,
}>> <<set _clothTarget to weightedEither(_clothing)>>
⚔️ They claw at your _clothTarget! <<set _healthDamage to Math.trunc(_damage /2)>> <<loseNeed 0 _healthDamage>> <<set _damage to Math.trunc(_damage /10)>>
<<set _raw to _damage *(1 + ($neg[5] /$maxNeg[5]))>>
<<set _raw to _damage /(1 + ($neg[6] /$maxNeg[6]))>>
<<gainNeg 0 _raw>> <<if $neg[0] gte $maxNeg[0] *0.5>> <<trauma 2 0>> <</if>>
<<set _damage to Math.trunc(_args[0] /5)>>
<<damageClothing _clothTarget _damage>> <<questFlag playerHit>>
<<if _args.includes("noOrigin") is false>>
<<for _d to 0; _d lt $enemy[_i].status.length; _d++>>
<<if setup[$enemy[_i].status[_d][0]].afterAttack isnot undefined>>
<<= setup[$enemy[_i].status[_d][0]].afterAttack>>
<</if>>
<</for>>
<</if>>
<<else>> <span style="color:gold"> Dodged! </span> <<if _dodgeGain is 1>> <<random 8 12>> <<gainAtt 4 _ran>> <</if>>
<</if>>
<</widget>>
<<widget "damageClothing">>
<<set _part to _args[0]>> <<set _ouch to _args[1]>> <<if _args[2] isnot undefined>> <<set _target to _args[2]>> <</if>> <<if $playerStat.Fullwear is 1 and _part is "lower body">> <<set _part to "upper body">>
<<checkWear fullwear "upper body" tags>> <<set _target to _wearIndex>> <</if>>
<<if $clothing[_part].length gt 0>> <<if _target is undefined or _target gte $clothing[_part].length>> <<set _target to $clothing[_part].length -1>> <</if>>
<<set _clothId to $clothing[_part][_target][0]>>
Your <<= setup[_clothId].name>> gets damaged! (<<percent $clothing[_part][_target][1] setup[_clothId].dura green>> -->
<<set $clothing[_part][_target][1] -= _ouch>> <<percent $clothing[_part][_target][1] setup[_clothId].dura green>>)
<<if $clothing[_part][_target][1] lte 0>> <span style="color:red"> The fabric tears to shreds! </span>
<<set $clothingLayer[_part] -= setup[_clothId].thickness>>
<<if setup[_clothId].fullwear isnot undefined>> <<set $clothingLayer["lower body"] -= setup[_clothId].thickness>> <</if>>
<<clothOff _clothId>>
<<set $clothing[_part].deleteAt(_target)>> <</if>>
<<else>>
Nothing protects your _part! <<set _ouch to _ouch *2>> <<playerPain _ouch>>
<</if>>
<</widget>>
<<widget "enemyGrope">>
<<if _playerDodge is undefined>> <<trauma 1 0>>
<<set _damage to _args[0]>> <<set _damage *= random(8, 12)>>
<<if _dmgAbsorption is undefined>> <<set _dmgAbsorption to $att[1] *10>> <</if>>
<<set _damage to Math.trunc(_damage /(_dmgAbsorption /100))>>
<<set _part to {
"breasts": 10,
"crotch": 10,
}>> <<set _gropeTarget to weightedEither(_part)>>
<<if _gropeTarget is "breasts">> <<set _damage to _damage /(Math.clamp($playerStat.UpperCover, 0, 100) /100)>> Grabs you and gropes your <<playerBreasts>> <<if $playerStat.UpperCover gte 10>> through your clothing! <<else>> taking advantage of your vulnerability! <</if>> <<playerStim 30 breasts>>
<<elseif _gropeTarget is "crotch">> <<set _damage to _damage /(Math.clamp($playerStat.LowerCover, 0, 100) /100)>> They grope your <<playerCrotch>> <<if $playerStat.LowerCover gte 10>> through your clothing! <<else>> taking advantage of your vulnerability! <</if>> <<if $body.external["penis"] isnot "none">> <<playerStim 30 penis>> <<elseif $body.external["vagina"] isnot "none">> <<playerStim 30 vagina>> <<else>> <<playerStim 60 skin>> <</if>>
<</if>>
<<else>> <span style="color:gold"> Dodged! </span> <<if _dodgeGain is 1>> <<random 8 12>> <<gainAtt 4 _ran>> <</if>>
<</if>>
<</widget>>
<<widget "enemyDrain">> <<set _damage to _args[0]>> <<set _damage *= random(8, 12)>> <<set _damage to Math.trunc(_damage /10)>>
<<set _protection to $playerStat.Protection>>
<<set _damage = _damage * (1 - _protection / (_protection + 7 * Math.sqrt(_damage)))>>
<<if _dmgAbsorption is undefined>> <<set _dmgAbsorption to $att[1] *10>> <</if>>
<<set _damage to Math.trunc(_damage /(_dmgAbsorption /100))>>
⚔️ You get drained! <<loseNeed 1 _damage>>
<</widget>>
<<widget "enemyDebuff">> <<set _debuff to weightedEither($enemy[_i].debuffList)>> <<set _time to _args[0]>>
<<applyStatus _debuff _args[0]>> Inflicted <<= setup[_debuff].name>>!
<</widget>><<set _displayOp to 0>>
<<set _dmgAbsorption to Math.trunc(($att[1] +$attBonus[1]) *(Math.clamp($attMult[1], 4, 100) /20)) *10>>
<<set $turnAP to $combatAP>>
<<set _playTypes to []>>
<span id="playerAction">
<<playerAction>>
</span>
<<if _hideFight is undefined>>
<span id="enemyList">
<<enemyList>>
</span>
<br>
<<if _playerStunned is 1>>
<span style="color:red">You are stunned!</span> - <<link "Continue" "Fight">> <</link>>
<<else>>
<span id="allyList">
<<moveList>>
</span>
<</if>>
<<if $enemy.length gt 0>>
<h3> Other options </h3>
<span data-nokeys="true">
<<link "Surrender">> <<unset $play>> <<unset $move>> <<set $gameStat.surrender += 1>> <<goto $surrender>> <</link>> | <<switch $surrenderDanger>> <<case 0>> <span style="color:limegreen"> No danger </span> <<case 1>> <span style="color:yellow"> Low danger </span> <<case 2>> <span style="color:orange"> Moderate Danger </span> <<case 3>> <span style="color:red"> Dangerous </span> <</switch>>
</span>
<</if>>
<</if>>
<<for _i to 0; _i lt $move.length; _i++>>
<<if $move[_i].cd gt 0>> <<set $move[_i].cd -= 1>> <</if>>
<</for>>
<<for _i to 0; _i lt $special.length; _i++>>
<<if $special[_i].cd gt 0>> <<set $special[_i].cd -= 1>> <</if>>
<</for>>
<<set $turn += 1>><<widget "playerAction">>
<<silently>>
<<for _d to 0; _d lt $turnEffect.length; _d++>>
<<= setup[$turnEffect[_d]]>>
<</for>>
<</silently>>
<<if $play.length gt 0>>
<<for _i to 0; _i lt $play.length; _i++>> <<set _id to $play[_i]>> <<set $play[_i] to setup[$play[_i]]>> <<set _playTypes.push($play[_i].type)>>
<<set _playTarget to $playTarget[_i]>> <<set _playEffect to {}>>
<<if $play[_i].power isnot undefined and ($power gte $play[_i].power or $play[_i].power is 0)>> <<set $power -= $play[_i].power>>
<<for _d to 0; _d lt $preMove.length; _d++>>
<<= setup[$preMove[_d]]>>
<</for>>
<span style="color:gold"> $play[_i].name </span> --> $play[_i].effect
<<for _d to 0; _d lt $afterMove.length; _d++>>
<<= setup[$afterMove[_d]]>>
<</for>>
<<elseif $play[_i].power is undefined>>
<<for _d to 0; _d lt $preMove.length; _d++>>
<<= setup[$preMove[_d]]>>
<</for>>
<span style="color:gold"> $play[_i].name </span> --> $play[_i].effect
<<for _d to 0; _d lt $afterMove.length; _d++>>
<<= setup[$afterMove[_d]]>>
<</for>>
<<else>> <span style="color:gold"> $play[_i].name </span> --> <span style="color:red">Failed! </span> (Not enough power)
<</if>>
<br> <br>
<</for>>
<<for _i to $enemy.length -1; _i gte 0; _i-->>
<<if $enemy[_i].hp lte 0>>
<<= $enemy[_i].trait>> <<= $enemy[_i].name>> staggers back, defeated! <<set $gameStat.enemiesDefeated += 1>> <<gainNeed 3 $perk.fightComfort>>
<<if $enemy[_i].death isnot undefined>> <<= $enemy[_i].death>> <</if>> <<set _xpGained to Math.trunc($enemy[_i].xp *(1 +($enemy[_i].level /5)))>> <br> <br> <<gainXP _xpGained>> | <<gainSkill Fighting _xpGained _xpGained>>
<<set _xpGained to Math.trunc(_xpGained /3)>>
<<gainRep 1 _xpGained>>
<<if $enemy[_i].loot isnot undefined>> <<= setup[$enemy[_i].loot]>> <</if>>
<<set _flag to "defeat" + $enemy[_i].id>> <<questFlag _flag>>
<<for _f to 0; _f lt $enemy[_i].tags.length; _f++>>
<<set _flag to "defeatSpecies" + $enemy[_i].tags[_f]>> <<questFlag _flag>>
<</for>>
<<set $enemy.deleteAt(_i)>>
<<if $target gte _i and $target gt 0>> <<set $target -= 1>> <</if>>
<</if>>
<</for>>
<<set $play to []>> <<set $playTarget to []>>
<<else>>
You stand ready for combat! <br> <br>
<</if>>
<</widget>><<widget "enemyList">>
<<for _i to 0; _i lt $enemy.length; _i++>>
<<capture _i>>
<<if $enemy[_i].status is undefined>>
<<set $enemy[_i].status to []>>
<</if>>
<<set $enemy[_i].guard to 0>>
<div class="cardBox">
_i - <span style="color:red"> $enemy[_i].trait $enemy[_i].name </span>
<<if $enemy[_i].gear.length gt 0>>
(<<for _gr to 0; _gr lt $enemy[_i].gear.length; _gr++>>
-<span style="color:limegreen"><<= $enemy[_i].gear[_gr][0]>></span>-
<</for>>)
<</if>>
<span data-nokeys="true">
<<link "[?]">>
<<dialog>>
<<for _gr to 0; _gr lt $enemy[_i].tags.length; _gr++>>
<span style="color:gold"><<= $enemy[_i].tags[_gr]>></span> --> <<= setup.EnemyDescription[$enemy[_i].tags[_gr]]>> <br>
<</for>> <br>
<<if $enemy[_i].trait isnot "">>
<span style="color:blue"><<= $enemy[_i].trait>></span> --> <<if $enemy[_i].traitDesc isnot undefined>> <<= $enemy[_i].traitDesc>> <<else>> No combat effect. <</if>>
<</if>>
<<if $enemy[_i].gear.length gt 0>> <br>
<<for _gr to 0; _gr lt $enemy[_i].gear.length; _gr++>>
<br> <span style="color:limegreen"><<= $enemy[_i].gear[_gr][0]>></span> --> <<= $enemy[_i].gear[_gr][1]>>
<</for>>
<</if>>
<<if $enemy[_i].passive.length gt 0>> <br>
<<for _gr to 0; _gr lt $enemy[_i].passive.length; _gr++>>
<br> <span style="color:aqua"><<= setup[$enemy[_i].passive[_gr]].name>></span> --> <<= setup[$enemy[_i].passive[_gr]].desc>>
<</for>>
<</if>>
<<if $perkMoves.includes("SeduceMove")>> <br> <br>
<<if $enemy[_i].seductionDif isnot undefined>>
Chance of <<showSeduction 0 $enemy[_i].seductionDif>>
<<else>> <span style="color:red">Can't be seduced. </span> <</if>>
<</if>>
<<if $perkMoves.includes("PickpocketMove")>> <br> <br>
<<if $enemy[_i].pickpocketDif isnot undefined>>
Pickpocket chance - <<showCheck 4 0 $enemy[_i].pickpocketDif weighted>>
<<else>> <span style="color:red">Can't be pickpocketed. </span> <</if>>
<</if>>
<br> <br>
Damage Type Resistances
<<for _d to 0; _d lt setup.damageTypes.length; _d++>>
<<if $enemy[_i].res[setup.damageTypes[_d]] isnot 0>>
<br> - <<= setup.damageTypes[_d]>>: <span style="color:gold"><<= $enemy[_i].res[setup.damageTypes[_d]]>>%</span>
<</if>>
<</for>>
<</dialog>>
<</link>> </span> -
<<if $enemy[_i].hp gt 0>>
<span style="color:limegreen"> [$enemy[_i].hp / $enemy[_i].maxHp] </span>
<span style="color:aqua"> [$enemy[_i].ot] </span>
<<for _d to $enemy[_i].status.length -1; _d gte 0; _d-->> <<capture _d>>
<<if setup[$enemy[_i].status[_d][0]].turn isnot undefined>> <<= setup[$enemy[_i].status[_d][0]].turn>> <</if>>
<<if $enemy[_i].status[_d][1] lte 0>> <<set $enemy[_i].status.deleteAt(_d)>> <<else>> -
<span data-nokeys="true"> <<link "<<= setup[$enemy[_i].status[_d][0]].name>>">> <<dialog>>
<<= setup[$enemy[_i].status[_d][0]].desc>>
<</dialog>> <</link>> </span> <<= $enemy[_i].status[_d][1]>>
<</if>>
<</capture>> <</for>>
<<else>> THIS IS BUGGED <</if>>
-- <label> <<radiobutton "$target" _i autocheck>> Target </label>
<br> <<if $enemy[_i].hp gt 0>> <<if $enemy[_i].stunned is undefined>> <<set $enemy[_i].stunned to 0>> <</if>>
<<if $enemy[_i].stunned lte 0>>
<<if $enemy[_i].act is undefined or $enemy[_i].act is "EnemyStunned">>
<<set $enemy[_i].act to weightedEither($enemy[_i].move)>> <<set $enemy[_i].cd to 0>> <</if>>
<<for _d to 0; _d lt $enemy[_i].status.length; _d++>>
<<if setup[$enemy[_i].status[_d][0]].constant isnot undefined>>
<<= setup[$enemy[_i].status[_d][0]].constant>>
<</if>>
<</for>>
<<for _d to 0; _d lt $enemy[_i].passive.length; _d++>>
<<if setup[$enemy[_i].passive[_d]].constant isnot undefined>>
<<= setup[$enemy[_i].passive[_d]].constant>>
<</if>>
<</for>>
<<if $enemy[_i].cd is 0>>
--> About to use <<= setup[$enemy[_i].act].name>> <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<= setup[$enemy[_i].act].intent>> <</dialog>> <</link>> </span> <<set $enemy[_i].cd to 1>>
<<else>>
--> Using <<= setup[$enemy[_i].act].name>>! <<= setup[$enemy[_i].act].action>>
<<set $enemy[_i].act to weightedEither($enemy[_i].move)>> <<set $enemy[_i].cd to 0>>
<</if>>
<<else>> <span style="color:green"> Stunned! </span> ($enemy[_i].stunned) <<set $enemy[_i].stunned -= 1>>
<</if>>
<<else>> $enemy[_i].dead <</if>>
</div>
<</capture>>
<</for>>
<<if $aid.length gt 0>> <br>
<span style="color:red"> $aid.length more waves incoming! </span> <</if>>
<<if $enemy.length is 0>> <br> <br>
<<link "End Battle -->">>
<<unset $play>> <<unset $move>> <<set $gameStat.victories += 1>>
<<if $battleLoot.length is 0>>
<<goto $aftermath>> <<else>> <<goto "Fight Loot">> <</if>>
<</link>> <br>
<</if>>
<</widget>><<widget "moveList">> <<if $enemy.length gt 0>>
<<if $neg[0] lt $maxNeg[0] and _playerOrgasm is undefined>>
AP Left --> <<mult $turnAP>>🔋<</mult>>
<<if $play.length gt 0>>
(Actions <<for _p to 0; _p lt $play.length; _p++>>
- <span style="color:gold"><<= setup[$play[_p]].name>></span>
<</for>>)
<</if>> <br> <br>
<<if $moveDisplay is 0>>
<span data-nokeys="true"> Show Combat Actions -- <<link "Show Special Actions">> <<set $pageStart to 0>> <<set $pageEnd to 7>> <<set $moveDisplay to 1>> <<replace "#allyList">><<moveList>><</replace>> <</link>> -- <<link "Show Items">> <<set $pageStart to 0>> <<set $pageEnd to 7>> <<set $moveDisplay to 2>> <<replace "#allyList">><<moveList>><</replace>> <</link>> </span>
<br> <br>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $move.length>> <<capture _i>>
<<set _id to $move[_i].id>> <<capture _id>>
<span style="color:gold"><<= setup[_id].name>></span> <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<= setup[_id].type>>. <<itemDesc>> <</dialog>> <</link>> </span> <span style="color:aqua">
<<if $move[_i].ap is 0>> [FREE] <</if>>
<<if $move[_i].maxCd gt 0>> [<<= $move[_i].maxCd>> CD] <</if>> <<if $move[_i].power gt 0>> [$move[_i].power PWR] <</if>>
<<if $ammo is undefined>> <<set $ammo to {}>> <</if>>
<<set _uses to 0>>
<<if $move[_i].uses isnot undefined>> <<if $ammo[_id] is undefined>> <<set $ammo[_id] to 0>> <</if>> <<set _uses to $move[_i].uses -$ammo[_id]>> <</if>>
<<if $move[_i].uses isnot undefined>> [_uses Uses] <</if>> </span> -->
<<if $move[_i].uses is undefined or _uses gt 0>>
<<if $move[_i].cd is 0>>
<<link "Use">> <<set $play.push(_id)>> <<set $playTarget.push($target)>> <<= setup[_id].insta>>
<<if $move[_i].uses isnot undefined>> <<set $ammo[_id] += 1>> <</if>>
<<set $move[_i].cd to $move[_i].maxCd>>
<<if $move[_i].ap is undefined>>
<<set $turnAP -= 1>> <</if>>
<<if $turnAP is 0>>
<<goto "Fight">>
<<else>>
<<replace "#allyList">><<moveList>><</replace>>
<</if>>
<</link>>
<<else>> <span style="color:orange">On Cooldown!</span> ($move[_i].cd) <</if>>
<<else>> <span style="color:red">Exhausted!</span> <</if>>
<</capture>>
<</capture>> <br> <</if>> <</for>>
<<if $move.length gt 7>> <br>
<<if $pageStart gt 0>> <<link "Previous page">>
<<set $pageStart -= 7>> <<set $pageEnd -= 7>> <<replace "#allyList">><<moveList>><</replace>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $move.length>> <<link "Next page">>
<<set $pageStart += 7>> <<set $pageEnd += 7>> <<replace "#allyList">><<moveList>><</replace>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>>
<<elseif $moveDisplay is 1>>
<span data-nokeys="true"> <<link "Show Combat Actions">> <<set $pageStart to 0>> <<set $pageEnd to 7>> <<set $moveDisplay to 0>> <<replace "#allyList">><<moveList>><</replace>> <</link>> -- Show Special Actions -- <<link "Show Items">> <<set $pageStart to 0>> <<set $pageEnd to 7>> <<set $moveDisplay to 2>> <<replace "#allyList">><<moveList>><</replace>> <</link>> </span>
<br> <br>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $special.length>> <<capture _i>>
<<set _id to $special[_i].id>> <<capture _id>>
<span style="color:gold"><<= setup[_id].name>></span> <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <<if $special[_i].maxCd gt 0>> - <<= $special[_i].maxCd>> CD <</if>> <<if $special[_i].power gt 0>> - $special[_i].power Power <</if>> <<if $special[_i].uses isnot undefined>> - $special[_i].uses Uses Left <</if>> -->
<<if $special[_i].uses is undefined or $special[_i].uses gt 0>>
<<if $special[_i].cd is 0>>
<<link "Use">> <<set $play.push(_id)>> <<set $playTarget.push($target)>>
<<if $special[_i].uses isnot undefined>> <<set $special[_i].uses -= 1>> <</if>>
<<set $special[_i].cd to $special[_i].maxCd>>
<<set $turnAP -= 1>>
<<if $turnAP is 0>>
<<goto "Fight">>
<<else>>
<<replace "#allyList">><<moveList>><</replace>>
<</if>>
<</link>>
<<else>> <span style="color:orange">On Cooldown!</span> ($move[_i].cd) <</if>>
<<else>> <span style="color:red">Exhausted!</span> <</if>>
<</capture>> <<if $special[_i].cd gt 0>> <<set $special[_i].cd -= 1>> <</if>>
<</capture>> <</if>> <</for>>
<<if $special.length gt 7>> <br>
<<if $pageStart gt 0>> <<link "Previous page">>
<<set $pageStart -= 7>> <<set $pageEnd -= 7>> <<replace "#allyList">><<moveList>><</replace>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $special.length>> <<link "Next page">>
<<set $pageStart += 7>> <<set $pageEnd += 7>> <<replace "#allyList">><<moveList>><</replace>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>>
<<elseif $moveDisplay is 2>>
<span data-nokeys="true"> <<link "Show Combat Actions">> <<set $pageStart to 0>> <<set $pageEnd to 7>> <<set $moveDisplay to 0>> <<replace "#allyList">><<moveList>><</replace>> <</link>> -- <<link "Show Special Actions">> <<set $pageStart to 0>> <<set $pageEnd to 7>> <<set $moveDisplay to 1>> <<replace "#allyList">><<moveList>><</replace>> <</link>> -- Show Items </span>
<<set _optionsShown to 0>>
<<for _i to $pageStart; _optionsShown lt 5 and _i lt $inventory[0].length; _i++>>
<<if _i lt $inventory[0].length>> <<capture _i>> <<set _id to $inventory[0][_i][0]>> <<capture _id>>
<<if setup[_id].combat isnot undefined>> <<set _optionsShown += 1>>
<div class="cardBox">
<<= setup[_id].name>> <<if $inventory[0][_i][2] isnot undefined>> (<<= $inventory[0][_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $inventory[0][_i][1]>> <<else>> <<percent $inventory[0][_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <br>
<<if setup[_id].combat isnot undefined>>
<<for _con to 0; _con lt setup[_id].combat.length; _con++>> <<capture _con>>
<<if setup[_id].combat[_con].fullness is undefined or setup[_id].combat[_con].fullness lte Math.trunc(($maxNeed[2] -$need[2]) *0.8)>>
<<link "<<= setup[_id].combat[_con].name>>">> <<loseItem 0 _id setup[_id].combat[_con].cost>>
<<set $message.push(setup[_id].combat[_con].effect)>> <<= setup[_id].combat[_con].insta>>
<<if setup[_id].combat[_con].play isnot undefined>> <<set $play.push(setup[_id].combat[_con].play)>> <<set $playTarget.push($target)>> <</if>>
<<set $turnAP -= 1>>
<<if $turnAP is 0>>
<<goto "Fight">>
<<else>>
<<replace "#allyList">><<moveList>><</replace>>
<</if>>
<</link>>
<<else>> <span style="color:orange"> You are too full to eat this. </span> <</if>>
<</capture>> <</for>>
<<else>> Can't use this now. <</if>>
</div> <</if>> <</capture>>
<</capture>>
<</if>> <</for>>
<<if _optionsShown is 7 and $inventory[0].length gt 7 or $pageStart gt 0>> <br>
<<if $pageStart gt 0>> <<link "Previous page">>
<<set $pageStart -= 7>> <<set $pageEnd -= 7>> <<replace "#allyList">><<moveList>><</replace>>
<</link>>
<<else>> Previous page <</if>> |
<<if _i lt $inventory[0].length>> <<link "Next page">>
<<set $pageStart += 7>> <<set $pageEnd += 7>> <<replace "#allyList">><<moveList>><</replace>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>>
<</if>>
<<elseif $neg[0] gte $maxNeg[0]>> <span style="color:red"> Pain is too high. Your systems are in shock. Only option is to surrender. </span> <<trauma 100 0>>
<<elseif _playerOrgasm isnot undefined>> <span style="color:red"> You quiver in orgasm. Your systems give up fighting. Only option is to surrender. </span> <<trauma 50 0>>
<</if>>
<</if>>
<</widget>><<widget "createEnemy">>
<<if $uid is undefined>> <<set $uid to 0>> <</if>> <<set _id to _args[0]>>
<<mult _args[1]>> <<set _foe to clone(setup[_id])>>
<<set _foe.id to _id>>
<<for _dm to 0; _dm lt setup.damageTypes.length; _dm++>>
<<if _foe.res[setup.damageTypes[_dm]] is undefined>> <<set _foe.res[setup.damageTypes[_dm]] to 0>> <</if>>
<</for>>
<<if _foe.status is undefined>> <<set _foe.status to []>> <</if>>
<<if _foe.passiveList is undefined>> <<set _foe.passiveList to []>> <</if>> <<set _foe.passive to []>>
<<for _p to 0; _p lt _foe.passiveList.length; _p++>>
<<chance _foe.passiveList[_p][1]>> <<set _foe.passive.push(_foe.passiveList[_p][0])>> <<= setup[_foe.passiveList[_p][0]].start>> <</chance>>
<</for>>
<<if _foe.traitList isnot undefined>> <<set _trait to setup[_foe.traitList].random()>> <<set _foe.trait to _trait[0]>> <<set _foe.traitDesc to _trait[1]>> <<= _trait[2]>> <<else>> <<set _foe.trait to "">> <<set _foe.traitDesc to "">> <</if>>
<<set _foe.gear to []>>
<<if _args[2] is undefined>>
<<if _foe.gearList isnot undefined>> <<enemyGear _foe.gearList>> <</if>>
<<else>> <<enemyGear _args[2] force>>
<</if>>
<<set _foe.level to random(_foe.minLevel, _foe.maxLevel)>>
<<set _foe.hp to Math.trunc(_foe.hp *(1 +(_foe.level /10)))>> <<set _foe.maxHp to _foe.hp>>
<<set _foe.attack to Math.trunc(_foe.attack *(1 +(_foe.level /10)))>>
<<set _foe.guard to 0>>
<<if _foe.tags.includes("Human") or _foe.tags.includes("Hybrid") or _foe.tags.includes("Monster") or _foe.tags.includes("Synth")>>
<<set _foe.organic to 1>> <<if _foe.tags.includes("Synth") is false>> <<set _foe.res.Magnetic to 100>> <</if>>
<<else>>
<<set _foe.organic to 0>> <<set _foe.res.Toxic to 100>>
<</if>>
<<set _foe.traitList to 0>> <<set _foe.uid to $uid>> <<set $uid += 1>> <<set $enemy.push(clone(_foe))>> <</mult>>
<</widget>>
<<widget "equipEnemy">> <<set _index to _args[0]>> <<set _gear to _args[1]>> <<set _force to 0>> <<if _args.includes("force")>> <<set _force to 1>> <</if>>
<<set _foe to clone($enemy[_index])>>
<<if _force is 0>> <<enemyGear _gear>> <<else>> <<enemyGear _gear force>> <</if>>
<<set $enemy[_index] to clone(_foe)>>
<</widget>>
<<widget "loadEnemy">>
<<if $uid is undefined>> <<set $uid to 0>> <</if>>
<<if _args[1] is undefined>>
<<set _id to weightedEither($npc[_args[0]].enemy)>> <<set _foe to clone(setup[_id])>>
<<elseif _args[1] is "setHere">>
<<set _id to weightedEither($npc[_args[0]].enemy)>> <<set _foe to clone(_foeSetHere)>>
<<else>>
<<set _foe to clone(setup[_args[1]])>> <<set _id to _args[1]>>
<</if>>
<<set _foe.id to _id>>
<<for _dm to 0; _dm lt setup.damageTypes.length; _dm++>>
<<if _foe.res[setup.damageTypes[_dm]] is undefined>> <<set _foe.res[setup.damageTypes[_dm]] to 0>> <</if>>
<</for>>
<<if _foe.status is undefined>> <<set _foe.status to []>> <</if>>
<<if _foe.passiveList is undefined>> <<set _foe.passiveList to []>> <</if>> <<set _foe.passive to []>>
<<for _p to 0; _p lt _foe.passiveList.length; _p++>>
<<chance _foe.passiveList[_p][1]>> <<set _foe.passive.push(_foe.passiveList[_p][0])>> <<if setup[_foe.passiveList[_p][0]].start isnot undefined>> <<= setup[_foe.passiveList[_p][0]].start>> <</if>> <</chance>>
<</for>>
<<if $npc[_args[0]].trait isnot undefined or $npc[_args[0]].trait isnot "">>
<<set _foe.trait to $npc[_args[0]].trait.toUpperFirst()>>
<<set _foe.traitDesc to setup.npcCombatTrait[$npc[_args[0]].trait][0]>>
<<= setup.npcCombatTrait[$npc[_args[0]].trait][1]>>
<</if>>
<<set _foe.gear to []>>
<<if _args[2] is undefined>>
<<if _foe.gearList isnot undefined>> <<enemyGear _foe.gearList>> <</if>>
<<else>> <<enemyGear _args[2] force>>
<</if>>
<<set _foe.level to random(_foe.minLevel, _foe.maxLevel)>>
<<set _foe.hp to Math.trunc(_foe.hp *(1 +(_foe.level /10)))>> <<set _foe.maxHp to _foe.hp>>
<<set _foe.attack to Math.trunc(_foe.attack *(1 +(_foe.level /10)))>>
<<set _foe.traitList to 0>> <<set _foe.uid to $uid>> <<set $uid += 1>> <<set $enemy.push(clone(_foe))>>
<</widget>>
<<widget "startFight">> <<set $aftermath to $location>> <<set $surrender to $location>> <<set $surrenderDanger to 1>>
<<set $gameStat.fights += 1>>
<<set $battleLoot to []>>
<<set $pageStart to 0>> <<set $pageEnd to 7>> <<set $moveDisplay to 0>>
<<set $enemy to []>>
<<set $aid to []>> <<set $wave to 0>> <<set $turn to 0>>
<<set $play to []>>
<<set $playTarget to []>>
<<set $target to 0>>
<<set $buff to []>>
<<set $turnEffect to []>>
<<set $preAttack to []>>
<<set $afterAttack to []>>
<<set $preMove to []>>
<<set $afterMove to []>>
<<set $whenHit to []>>
<<set $activeMove to []>> <<set $combatMoveMult to {}>>
<<for _key, _value range $body.external>>
<<if _value isnot "none" and _value[1] gt 0>>
<<if setup[_value[0]].combat isnot undefined>> <<= setup[_value[0]].combat>> <</if>>
<<if setup[_value[0]].combatMove isnot undefined>>
<<for _ceq to 0; _ceq lt setup[_value[0]].combatMove.length; _ceq++>>
<<if setup[setup[_value[0]].combatMove[_ceq]].skill is undefined or setup[setup[_value[0]].combatMove[_ceq]].skillLevel lte $skill[setup[setup[_value[0]].combatMove[_ceq]].skill]>>
<<if $activeMove.includes(setup[_value[0]].combatMove[_ceq])>> <<set $combatMoveMult[setup[_value[0]].combatMove[_ceq]] += 0.5>> <<else>> <<set $activeMove.push(setup[_value[0]].combatMove[_ceq])>> <<set $combatMoveMult[setup[_value[0]].combatMove[_ceq]] to 0.5>> <</if>>
<</if>>
<</for>>
<</if>>
<</if>>
<</for>>
<<for _eq to 0; _eq lt $body.internal.length; _eq++>>
<<if $body.internal[_eq] isnot "none">>
<<if setup[$body.internal[_eq][0]].combat isnot undefined>> <<= setup[$body.internal[_eq][0]].combat>> <</if>>
<<if setup[$body.internal[_eq][0]].combatMove isnot undefined>>
<<for _ceq to 0; _ceq lt setup[$body.internal[_eq][0]].combatMove.length; _ceq++>>
<<if setup[setup[$body.internal[_eq][0]].combatMove[_ceq]].skill is undefined or setup[setup[$body.internal[_eq][0]].combatMove[_ceq]].skillLevel lt $skill[setup[setup[$body.internal[_eq][0]].combatMove[_ceq]].skill]>>
<<if $activeMove.includes(setup[$body.internal[_eq][0]].combatMove[_ceq])>> <<set $combatMoveMult[setup[$body.internal[_eq][0]].combatMove[_ceq]] += 0.5>> <<else>> <<set $activeMove.push(setup[$body.internal[_eq][0]].combatMove[_ceq])>> <<set $combatMoveMult[setup[$body.internal[_eq][0]].combatMove[_ceq]] to 0.5>> <</if>>
<</if>>
<</for>> <</if>>
<</if>>
<</for>>
<<for _eq to 0; _eq lt $equipment.length; _eq++>>
<<if $equipment[_eq] isnot "none" and $equipment[_eq][1] gt 0>>
<<if setup[$equipment[_eq][0]].combat isnot undefined>> <<= setup[$equipment[_eq][0]].combat>> <</if>>
<<if setup[$equipment[_eq][0]].combatMove isnot undefined>>
<<for _ceq to 0; _ceq lt setup[$equipment[_eq][0]].combatMove.length; _ceq++>>
<<if setup[setup[$equipment[_eq][0]].combatMove[_ceq]].skill is undefined or setup[setup[$equipment[_eq][0]].combatMove[_ceq]].skillLevel lte $skill[setup[setup[$equipment[_eq][0]].combatMove[_ceq]].skill]>>
<<if $activeMove.includes(setup[$equipment[_eq][0]].combatMove[_ceq])>> <<set $combatMoveMult[setup[$equipment[_eq][0]].combatMove[_ceq]] += 0.5>> <<else>> <<set $activeMove.push(setup[$equipment[_eq][0]].combatMove[_ceq])>> <<set $combatMoveMult[setup[$equipment[_eq][0]].combatMove[_ceq]] to 0.5>> <</if>>
<</if>>
<</for>> <</if>>
<</if>>
<</for>>
<<for _i to 0; _i lt $perkMoves.length; _i++>>
<<if $disabledPerkMoves.includes($perkMoves[_i]) is false>>
<<set $activeMove.push($perkMoves[_i])>>
<</if>>
<</for>>
<<set $move to []>>
<<for _i to 0; _i lt $activeMove.length; _i++>>
<<set $move.push( { id: $activeMove[_i], cd: setup[$activeMove[_i]].cd, maxCd: setup[$activeMove[_i]].maxCd, power: setup[$activeMove[_i]].power, } )>>
<<if $combatMoveMult[$activeMove[_i]] is undefined>> <<set $combatMoveMult[$activeMove[_i]] to 0.5>> <</if>>
<<if setup[$activeMove[_i]].ap isnot undefined>>
<<set $move[$move.length -1].ap to setup[$activeMove[_i]].ap>>
<</if>>
<<if setup[$activeMove[_i]].uses isnot undefined>>
<<set $move[$move.length -1].uses to Math.ceil(setup[$activeMove[_i]].uses *($combatMoveMult[$activeMove[_i]] +0.5))>>
<</if>>
<</for>>
<<if _activeSpecial is undefined>> <<set $activeSpecial to []>> <<else>> <<set $activeSpecial to _activeSpecial>> <</if>>
<<set $special to []>>
<<for _i to 0; _i lt $activeSpecial.length; _i++>>
<<set $special.push( { id: $activeSpecial[_i], cd: setup[$activeSpecial[_i]].cd, maxCd: setup[$activeSpecial[_i]].maxCd, power: setup[$activeSpecial[_i]].power, } )>>
<</for>>
<</widget>>
<<widget "endFight">>
<<set $enemy to []>>
<<set $aid to []>> <<set $wave to 0>> <<set $turn to 0>>
<<set $play to []>>
<<set $playTarget to []>>
<<set $target to 0>>
<<set $buff to []>>
<<set $preAttack to []>>
<<set $afterAttack to []>>
<<set $preMove to []>>
<<set $afterMove to []>>
<<set $whenHit to []>>
<<for _e to $equipment.length -1; _e gte 0; _e-->>
<<if $equipment[_e][1] lte 0>>
<<if setup[$equipment[_e][0]].repairCost isnot undefined>>
<<set $message.push("<span style='color:red'>Your " + setup[$equipment[_e][0]].name + " is completely exhausted! </span> It will be unusable until you find a way to repair it.")>>
<<else>>
<<set $message.push("<span style='color:red'>Your " + setup[$equipment[_e][0]].name + " has broken! </span>")>>
<<set $equipment.deleteAt(_e)>>
<</if>>
<</if>>
<</for>>
<</widget>><<widget "strike">> <<set _damageType to _args[1]>> <<set _target to _args[2]>> <<set _attackType to _args[3]>>
<<if $enemy[_target].hp gt 0>>
<<set _damage to Math.trunc(_args[0] * (1 +($skill.Fighting /50)))>>
<<if $perk[_args[1]] isnot undefined and $perk[_damageType] isnot 0>>
<<set _damage to Math.trunc(_damage *(1 +($perk[_damageType] /100)))>>
<</if>>
<<set _damage to Math.trunc(_damage *((100 -($enemy[_target].res[_damageType])) /100))>>
<<set _damage to Math.trunc(_damage *((100 -($enemy[_target].res[_attackType])) /100))>>
<<for _d to 0; _d lt $preAttack.length; _d++>>
<<= setup[$preAttack[_d]]>>
<</for>>
<<if _damageType is "Physical">>
<<set _damage to Math.clamp(_damage -$enemy[_target].guard, 0, 1000000)>> <</if>>
<<for _d to 0; _d lt $enemy[_target].status.length; _d++>>
<<if setup[$enemy[_target].status[_d][0]].whenHit isnot undefined and $enemy[_target].status[_d][1] gt 0>>
<<= setup[$enemy[_target].status[_d][0]].whenHit>>
<</if>>
<</for>>
<<for _d to 0; _d lt $enemy[_target].passive.length; _d++>>
<<if setup[$enemy[_target].passive[_d]].whenHit isnot undefined>>
<<= setup[$enemy[_target].passive[_d]].whenHit>>
<</if>>
<</for>>
<<if _damage is undefined>> <<set _damage to 1>> <</if>>
⚔️ You deal _damage Damage! <span style="color:orange"> [<<= $enemy[_target].hp>> <<set $enemy[_target].hp -= _damage>> -->
<<= $enemy[_target].hp>>] </span>
<<for _d to 0; _d lt $afterAttack.length; _d++>>
<<= setup[$afterAttack[_d]]>>
<</for>>
<<if $enemy[_target].hp lte 0>>
<<if $play[_i].slain isnot undefined>>
$play[_i].slain <</if>>
<</if>>
<<else>>
<span style="color:orange"> Target already gone! </span> <<set _damage to 0>> <</if>>
<</widget>><<widget "stun">>
<<set $enemy[_args[1]].ot -= _args[0]>> Stun!
<<if $enemy[_args[1]].ot lte 0>> <span style="color:green"> STUNNED! </span>
<<set $enemy[_args[1]].maxOt += 1>>
<<set $enemy[_args[1]].ot to $enemy[_args[1]].maxOt>>
<<set $enemy[_args[1]].stunned += 2>> <<set $enemy[_args[1]].cd to 0>> <<set $enemy[_args[1]].act to "EnemyStunned">>
<<if $play[_i].onStun isnot undefined>> <<= $play[_i].onStun>> <</if>>
<</if>>
<</widget>>
<<widget "debuffEnemy">> <<set _found to 0>>
<<for _d to 0; _d lt $enemy[_args[0]].status.length; _d++>>
<<if $enemy[_args[0]].status[_d][0] is _args[1]>>
<<set $enemy[_args[0]].status[_d][1] += _args[2]>>
<<set _found to 1>> <</if>>
<</for>>
<<if _found is 0>> <<set $enemy[_args[0]].status.push([_args[1], _args[2]])>> <</if>>
You debuff <<= $enemy[_args[0]].name>> with <<= setup[_args[1]].name>> x<<= _args[2]>>!
<</widget>>
<<widget "enemyStatus">> <<set _found to 0>>
<<for _d to 0; _d lt $enemy[_args[0]].status.length; _d++>>
<<if $enemy[_args[0]].status[_d][0] is _args[1]>>
<<set $enemy[_args[0]].status[_d][1] += _args[2]>>
<<set _found to 1>> <</if>>
<</for>>
<<if _found is 0>> <<set $enemy[_args[0]].status.push([_args[1], _args[2]])>> <</if>>
<</widget>><-- <<link "Go back to equipment" "Equipment">> <</link>> <br> <br>
You've learned <span style="color:gold"><<= $perkMoves.length>></span>/<span style="color:gold"><<= setup.perkMoves.length>></span> possible moves. You can have up to 4 learneable moves active at the same time. <br> <br>
<<set _perkMoves to $perkMoves.length -$disabledPerkMoves.length>>
<<for _i to 0; _i lt setup.perkMoves.length; _i++>> <<set _id to setup.perkMoves[_i]>>
<<capture _id>>
<div class="cardBox">
<<if $perkMoves.includes(setup.perkMoves[_i])>>
<span style="color:gold"> <<= setup[_id].name>> </span> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> -->
<<if $disabledPerkMoves.includes(_id) is false>>
<span style="color:limegreen"> Enabled </span> -
<<link "Disable" "Learned Moves">>
<<set $disabledPerkMoves.push(_id)>>
<</link>>
<<else>>
<span style="color:red"> Disabled </span> -
<<if _perkMoves lt 4>>
<<link "Enable" "Learned Moves">>
<<set $disabledPerkMoves.deleteAll(_id)>>
<</link>>
<<else>> Enable
<</if>>
<</if>>
<<else>>
<span style="color:red"> ??? </span> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<= setup.perkMovesTip[_id]>> <</dialog>> <</link>> </span>
<</if>>
</div>
<</capture>>
<</for>><<widget "learnPerkMove">>
<span style="color:gold"> You learn the <<= setup[_args[0]].name>> combat move! <<set $perkMoves.push(_args[0])>> </span>
<<set _perkMoves to $perkMoves.length -$disabledPerkMoves.length>>
<<if _perkMoves gte 4>>
<<set $disabledPerkMoves.push(_args[0])>> Enable it from your inventory! <</if>>
<</widget>><<link "Apologize">> <<set $message.push("You apologize to the <<np name>> before moving on. <<gainNeed 3 300>>")>> <<playerPersonality Vengeful -5>> <<goto _next>> <</link>> | <span style="color:violet">Compliant</span> <br>
<<link "Kick <<np him>>">> <<set $message.push("You kick the <<np name>> while <<np he>>'s down. It's cathartic. <<gainNeed 3 300>>")>> <<playerPersonality Vengeful 5>> <<goto _next>> <</link>> | <span style="color:red">Vengeful</span> <br>
<<if $personality.Vengeful gte 10>> <br>
<<link "Rob <<np him>>">> <<addCrime 30>> <<set $message.push("You rob the <<np name>> of <<np his>> credits. <<gainCred " + _robAmount + " >>")>> <<goto _next>> <</link>> | <<crimeTip>>
<</if>><<if $catLove is undefined>> <<set $catLove to 0>> <</if>>
<<if $variant is undefined>>
<<if $catLove isnot 0>>
<<set _catpool to {
one: Math.clamp(0 +($catLove *10), 0, 100),
}>>
<<set $variant to weightedEither(_catpool)>>
<<else>>
<<set $variant to "catIntro">>
<</if>>
<<set $catLove += 1>>
<</if>>
<<if $variant is "catIntro">>
<<clearNPC>> <<createNPC Gab>> <<set $people.push($npc[0])>> <<set $gab to $people.length -1>>
You feel like something is following you. You look around and find nothing out of the ordinary. Just as you lower your guard, <span style="color:red">something lands in front of you.</span> <br> <br>
The figure looks at you with a smirk. It's a <<pr noun $gab>>, half crouched as if ready to pounce on you. You stand frozen in place. <br> <br>
"Scared you?" <<np He>> says mockingly. "You are a new one, right? You might not know how this works." <<np He>> circles you slowly. "Us hybrids were already struggling enough without you in the picture. There's not opportunities for all of us to go by, so you better make up for it. I mean, after all, you are just a machine, right? You were made to serve." <<np He>> says, a bit bitterly. <br> <br>
'So what's it gonna be? How are you gonna pay?' <br> <br>
<<link "Offer food" "Item Selection">> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $previous to "Cat Attack">> <<set $aftermath to "Cat Attack Offer">> <<set $tagWanted to "food">> <<set $valueWanted to 0>> <</link>> <br>
<<link "Say you can't give <<np him>> anything" "Cat Attack NoOffer">> <</link>>
<<elseif $variant is "one">>
<<clearNPC>> <<createNPC HybridCat>>
You feel as if something's watching you. You start hearing a low growl, and suddenly, a <<np name>> pounces on you! You barely dodge, and the feline turns to face you, flashing <<np his>> fangs. <br> <br>
<<link "Offer food" "Item Selection">> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $previous to "Cat Attack">> <<set $aftermath to "Cat Attack Offer">> <<set $tagWanted to "food">> <<set $valueWanted to 0>> <</link>> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Cat Attack Win">>
<<set $surrender to "Cat Attack Loss">> <<trauma 2 0>> <<set $surrenderDanger to 1>> <</link>>
<</if>><<if $variant is "catIntro">> <<gainLove $gab 20 0>>
The <<pr noun $gab>> sniffs the <<= setup[$itemSelected].name>> after you hand it to <<np him>>. <br> <br>
"Good enough." <<np He>> sighs. "You better cough up something better next time I find you, though. My name's Gab, by the way. And I <em>will</em> find you again." <br> <br>
With one last smile <<np he>> climbs up a wall and disappears behind a building. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<elseif $variant is "one">>
The <<np name>> catches the <<= setup[$itemSelected].name>> from the air as you throw it at <<np him>>. As <<np he>>'s distracted, you get away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<</if>>You tell the <<pr noun $gab>> you don't have anything to give <<np him>>. <<np His>> smile disappears. <br> <br>
"You think you have a choice? I'll forgive you this time. But for your own good, you better have something next time I find you. My name's Gab, by the way. And I <em>will</em> find you again." <br> <br>
With that <<np he>> climbs up a wall and disappears behind a building. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The <<np name>> stumbles to the ground with a little whine. You get away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The <<np name>> pounces on you, growling, pinning you to the ground. You close your eyes and stay still in surrender. <br> <br>
For a moment you think <<np he>>'s about to strike, but then <<np his>> growling gets lower, and <<np his>> hands start to trail your body... <br> <br>
<<clearPartner>> <<createPartner 0>>
<<setScene 1 mainCourse>>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Cat Attack Finish">> <</link>>The <<np name>> freezes after <<np he>>'s done with you. Without making a sound, <<np he>> jumps up and retreats up a wall. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<calcBait>>
<<set _variant to weightedEither({
one: 100,
two: Math.clamp(_difficulty -20, 0, 100),
})>>
<<if _variant is "one">>
<<clearNPC>> <<createNPC HybridMoth>>
<<if $location is "Undercity">>
A <<np name>> hybrid comes out from the darkness, attracted by your flashlight. <<np He>> flies straight at you! <br> <br>
<<else>>
A <<np name>> hybrid emerges from a dark spot and flies straight at you, leaving a trail of dust behind! <br> <br>
<</if>>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Moth Attack Win">>
<<set $surrender to "Moth Attack Kiss">>
<<if $playerStat.UpperCover gt 10 or $playerStat.LowerCover gt 10>> <<chance 50>> <<set $surrender to "Moth Attack Cloth Feed">> <</chance>> <</if>>
<<trauma 2 0>> <<set $surrenderDanger to 1>> <</link>> <br>
<<elseif _variant is "two">>
<<clearNPC>> <<createNPC HybridMoth>> <<createNPC HybridMoth>>
<<if $location is "Undercity">>
A <<np name>> hybrid comes out from the darkness, attracted by your flashlight. One other joins <<np him>> from another angle. The two stare at each other, then fly straight at you! <br> <br>
<<else>>
A <<np name>> hybrid comes out from a dark spot. One other joins <<np him>> from another angle. The two stare at each other, then fly straight at you! <br> <br>
<</if>>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<loadEnemy 1>> <<goto 'Fight'>> <<set $aftermath to "Moth Attack Two Win">>
<<set $surrender to "Moth Attack Two Kiss">>
<<trauma 2 0>> <<set $surrenderDanger to 1>> <</link>> <br>
<</if>>The <<np name>> falls to the ground, whimpering and nursing an injured wing. You get away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The moth hybrids retreat. You take the opportunity to get away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<if $mothLove is undefined>> <<set $mothLove to 0>> <</if>>
You stay still in surrender. The <<np name>> is soon on top of you, <<np his>> arms around your neck, wings batting slowly to support <<np his>> weight. <br> <br>
You aren't sure what it's doing. You look at <<np his>> big bug eyes just a few inches from yours. Suddenly, <<np he>> pulls you into a kiss. <<np His>> lips and tongue feel very human indeed, but with a distinct sugary taste. <<set $forced to 1>> <<playerStim 20 mouth>> <br> <br>
You don't even realize it, but you start dozing off. The more deeply <<np he>> kisses you the more tired you feel. You stumble when <<np he>> finally releases you. <<loseNeed 1 220>> <br> <br>
The <<np name>> finally flies away, revitalized. You taste your lips for a few minutes. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<applyStatus AphroStatus 30>> <<addiction Nectar 5>> <<set $mothLove += 1>> <<goto $location>> <</link>><<if $mothLove is undefined>> <<set $mothLove to 0>> <</if>>
You get on your knees and raise your hands in surrender. The <<np name>> circles you before coming down on you. <br> <br>
<<np He>> claws at your clothing for a while, ripping away at the fabric and trying to eat chunks of it.
<<if $clothing["upper body"].length gt 0>> <<set _ran to random(15, 30)>> <<damageClothing "upper body" _ran>> <</if>>
<<if $clothing["lower body"].length gt 0>> <<set _ran to random(15, 30)>> <<damageClothing "lower body" _ran>> <</if>>
<<np He>> struggles to chew, <<np his>> human physiology clearly at odds with <<np his>> moth instincts. Eventually <<np he>> gets tired of trying and flies away. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<set $mothLove += 1>> <<goto $location>> <</link>><<if $mothLove is undefined>> <<set $mothLove to 0>> <</if>>
You stay still in surrender. Soon the <<np name>> flies on top of you, <<np his>> arms around your neck, while the other one hugs you from behind, wrapping <<np his 1>> arms around your waist. <br> <br>
The <<np name>> kisses you while the other one licks your neck. Your mouth fills with the taste of nectar. Slowly, they both take turns kissing and licking your exposed neck. <<set $forced to 1>> <<playerStim 50 mouth>> <br> <br>
You start dozing off. When they finally release you, you are sitting on the ground, head spinning. <<loseNeed 1 500>>
They both finally fly away, seemingly revitalized. <br> <br>
<<passageXP 40>> <br> <br>
<<link "Continue">> <<applyStatus AphroStatus 60>> <<addiction Nectar 20>> <<set $mothLove += 2>> <<goto $location>> <</link>><<clearNPC>> <<createNPC HybridWolf>>
<<if $scentMarked is undefined>>
A <<np name>> hybrid suddenly pounces on you. <br> <br>
"Found you." <<np He>> growls. <br> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Wolf Attack Win">>
<<set $surrender to weightedEither(setup.WolfSurrender)>>
<<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>
<<else>>
A <<np name>> hybrid suddenly accosts you, but freezes as <<np he>> sniffs the air around you. With a growl, <<np he>> leaves you alone. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<</if>>The <<np name>> yelps as <<np he>> stumbles. <br> <br>
"You are... tougher than you look." <<np He>> admits, limping away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<if $wolfLove is undefined>> <<set $wolfLove to 0>> <</if>>
<<clearPartner>> <<createPartner 0>>
You stay still in surrender.
<<setScene 1 mainCourse>> <<set $scenePublic to 1>>
<<include setup[$scene].desc>> <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Wolf Attack Mark Finish">> <</link>>The <<np name>> licks your face one last time before leaving you alone. <<loseNeed 3 300>> <br> <br>
<<link "Continue">> <<applyStatus ScentMarked 600>> <<goto $location>> <</link>>You open the message. Inside you find a note written on a piece of red paper, and a wig of synthetic hair. <br> <br>
"Yes, I can tell. You're different than all the others, aren't you? That's why I've been watching you. I want to get to know who you really are, inside and out. Show me, please? Wear this and let it reflect who you are. I'll keep watching." <br> <br>
<<lootItem 4 SmartHair 100>> You take a look at the synthetic hair. It's an advanced model, quite an expensive one at that. You wonder who would have the credits to just give this thing away, and why.You open the message. Inside you find another note written on a piece of red paper, and an odd-looking trinket. <br> <br>
"That's what you are. Unique. I don't often feel this way towards anything. But after seeing you coming and going, I can say it with confidence." <br> <br>
'Did you like my last gift? Here's another one for you. I didn't want to spoil you so much so soon, so this one comes from my heart rather than my wallet. Keep it close, please?' <br> <br>
You examine the trinket. It's a small, heart-shaped figurine carved in wood... you can't recall ever seeing real wood. It doesn't seem to have any practical use... <<lootItem 2 WoodenHeart 1>>You open the message. <br> <br>
"Residents of New Life: We regret to inform that due to unforeseen power usage, we will be forced to charge the daily fee of TWENTY-FIVE (25) credits, to be automatically deducted to every resident's account, starting TOMORROW." <br> <br>
'Please continue enjoying the center's facilities. Together, we keep working for a better future for everyone.'You open the message. <br> <br>
"Residents of New Life: Due to the extremely high consumption of rations in the center, we're forced to start collecting the daily fee of THIRTY (30) credits, added to the previous tax of TWENTY-FIVE. The total sum of FIFTY-FIVE (55) credits will be charged every day to every resident's account, starting TOMORROW." <br> <br>
'Please continue enjoying the center's facilities. Together, we keep working for a better future for everyone.'You open the message. <br> <br>
"Residents of New Life: Increasing maintenance costs forces us to increase the daily fee by FIFTY (50) credits. The total sum of ONE-HUNDRED-FIVE (105) credits will be charged every day to every resident's account, starting TOMORROW." <br> <br>
'It comes to our attention many residents have failed to maintain the necessary funds to pay the daily fee. We ask you to remain positive and trust will soon find alternative ways of payment.' <br> <br>
'Please continue enjoying the center's facilities. Together, we keep working for a better future for everyone.'You open the message. <br> <br>
"Residents of New Life: We regret to inform that due to high usage of the residential clinic, we are forced to increase the daily fee by ONE-HUNDRED (100) credits. The total sum of TWO-HUNDRED-FIVE (205) credits will be charged every day to every resident's account, starting TOMORROW." <br> <br>
'Please continue enjoying the center's facilities. Together, we keep working for a better future for everyone.'You open the message. <br> <br>
"We're Happy Thoughts, nice to meet you! Happy Thoughts searches to share happiness among people, both humans and synths. Modern technology gives us a never before seen opportunity to do so. Start collaborating with us now to share your experiences with people all across the world!" <br> <br>
'The way our system works is simple: to start, you simply connect with a client, who'll ask you to experience something they'll always wanted to try. Once you perform the desired task, upload your memory of it and instantly receive the accorded payment.' <br> <br>
'Some of our synthetic workers have already started making more than ten thousand credits A DAY! Start your dream now!' <br> <br>
In a much smaller font there's a long list of warnings and disclaimers. However, you see no danger in checking things out. <<set $happyThought to 0>> <<set $happyThoughtMax to 1>> <<set $happyAssignment to []>> <<set $happyPerformance to 0>>
<<set $message.push("<span style='color:gold'>Start a Happy Thoughts assignment from the Online option on the sidebar!</span>")>>You open the message. <br> <br>
"Residents of New Life: It comes to our attention that many are struggling to meet the daily fees. We are happy to announce our new partnership with Elixir Company, the number one farmaceutic in the world. If you are looking for employment, please visit Elixir's labs at Sector A5."<<widget "event">> <<set _pool to _args[0]>>
<<unset $variant>>
<<calcBait>> <<include _pool>>
<<if _args.includes("test") is false>>
<<for _i to 0; _i lt $status.length; _i++>>
<<set _eventid to $status[_i][0]>> <<= setup[_eventid].event>>
<</for>>
<<for _i to 0; _i lt $quest.length; _i++>>
<<set _eventid to $quest[_i][0]>> <<= setup[_eventid].event>>
<</for>>
<<for _i to 0; _i lt $eventSpecial.length; _i++>>
<<set _eventid to $eventSpecial[_i]>> <<= setup[_eventid].event>>
<</for>>
<<set _attention to 0>>
<<if tags(_pool).includes("public")>>
<<if $playerStat.UpperCover lt 10 or $playerStat.LowerCover lt 10>> <<questFlag publicNudity>> <<playerExposed 100>> <<set _attention += 10>> <</if>>
<<if $playerStat.Bondage gte 10>> <<questFlag publicBondage>> <<playerExposed 100>> <<set _attention += 10>> <</if>>
<<if $playerStat.Degrading gte 10>> <<questFlag publicDegradation>> <<playerExposed 100>> <<set _attention += 10>> <</if>>
<<if $totalFluid gt 50>> <<set _attention += Math.clamp(Math.trunc($totalFluid -20), 0, 20)>> <</if>>
<</if>>
<<if _event is undefined>> <<goto $location>> <<else>> <<goto _event>> <</if>>
<</if>>
<</widget>>
<<widget "calcBait">>
<<if $location is "Undercity">>
<<set _difficulty to $depth *10>>
<<else>>
<<set _difficulty to $dayDifficulty *$hourDifficulty>>
<</if>>
<<set _bait to Math.trunc( ( (_difficulty +$playerStat.Bait +($playerStat.Bondage /2) +($playerStat.Degrading /2)) *(($playerStat.Beauty -45) /100) ) )>>
<<set _bait += 10 *$negRep[0]>>
<<set _bait += 15 *$negRep[1]>>
<<if $dayFlag.crime is undefined>> <<set $dayFlag.crime to 0>> <</if>>
<<set _police to $crime + ($dayFlag.crime *6)>>
<<if $debug is 1>> <<set $message.push("TOTAL BAIT VALUE IS " + _bait + " -- " + _difficulty + " - " + $playerStat.Bait + " - " + $playerStat.Bondage + " - " + $playerStat.Degrading)>> <</if>>
<</widget>><<set $end to 1>>
<span style="color:red">You wake up in a small confined space.</span> Metal binds keep your arms and legs in place. You can't open your eyes, but you can see lights flashing through your eyelids. <br> <br>
<<link "Struggle" "First Dream 1">> <<loseNeed 3 300>> <</link>><span style="color:red">You can't struggle.</span> You can't even begin moving. Your body doesn't respond. The box in which you are trapped is lifted and carried away with you inside. <br> <br>
<<link "Scream" "First Dream 2">> <</link>><span style="color:red">Nothing.</span> You hear a truck stopping outside and voices you don't understand. <br> <br>
<<link "Do anything" "First Dream 3">> <</link>><span style="color:red">No.</span> There's nothing you can do. You hear yourself being carried into the truck. Someone taps the box above you. The voices become clearer. They are talking about you. <br> <br>
You don't want to hear it. <br> <br>
<<link "Nothing" "First Dream 4">> <</link>>"Shit, this one woke up." Someone says. <br> <br>
"Just turn it off?" A tired voice responds. <br> <br>
You make a last attempt to escape. But despite all your desperate efforts, you're turned off for good. <br> <br>
<<set $need[3] to Math.trunc($need[3] *= 0.6)>>
<<link "..." "First Dream 5">> <</link>>Or so it felt. When you finally manage to open your eyes you are just in your bedroom. Nothing has changed around you. Slowly you understand none of that was real. It was, most likely, what humans call a "dream". <br> <br>
From what you know about your own design, you shouldn't be able to dream. Knowing its possible makes you uneasy, but also, a little hopeful. <br> <br>
You stand up shaking. <br> <br>
<<gainXP 500>> <br> <br>
<<link "Continue">> <<unset $end>> <<sleepChange>> <<goto $location>> <</link>>You dream about the times you've been assaulted. Of getting beaten and forced to service your attackers. Feeling helpless and used. It fills you with...
<br> <br>
<<link "Rage" "Dream First Assault Rage">> <</link>> | <em>Increases mental recovery when behaving vengefully.</em> <br>
<<link "Pleasure" "Dream First Assault Pleasure">> <</link>> | <em>Reduces Mental loss from non-consensual sex and prostitution.</em><<set $perk.vengefulMental += 30>>
You are filled with a burning rage. The crimes committed against you won't go unpunished. <<playerPersonality Vengeful 10>> <br> <br>
<<gainXP 200>> <br> <br>
<<link "Continue">> <<sleepChange>> <<goto $location>> <</link>><<set $playerStat.Fucktoy += 30>>
You are filled with a strange sensation. Accepting what is done to you feels unexpectedly good... <br> <br>
<<gainXP 200>> <br> <br>
<<link "Continue">> <<sleepChange>> <<goto $location>> <</link>>Your sleep is filled with dark memories... you on your knees, forced to pleasure others. You wake up breathless and shaking. <<playerForced 300>> <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<sleepChange>> <<goto $location>> <</link>>Your sleep is plagued with sexual images, drawn from both fantasy and memory. You wake up feeling a little lightheaded. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<sleepChange>> <<playerArousal 300 0.9>> <<goto $location>> <</link>>You have a dream about fighting. Punching, kicking, dodging, jumping... <br> <br>
Nothing can hurt you in your dreams. <<gainNeed 3 300>> <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<sleepChange>> <<goto $location>> <</link>>You dream of hundreds of people whispering, talking to each other... talking about you. You try to hide, <span style="color:red"> but they already know who you are</span>. <<loseNeed 3 300>> <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<sleepChange>> <<goto $location>> <</link>><<if $dreamCount is undefined>>
<<if $days gte 3>>
<<set _event to "First Dream">> <<set $dreamCount to 1>> <<else>> <<set _event to "Slept">> <</if>>
<<else>> <<set _event to "Slept">>
<<set _reject to 1>> <<set _tries to 10>>
<<for _reject is 1 and _tries gt 0>> <<set _reject to 0>> <<set _tries -= 1>>
<<set _dreamSelected to clone(setup.DreamList.random())>>
<<if $visit.includes(_dreamSelected.name) and _dreamSelected.unique is "yes">> <<set _reject to 1>> <</if>>
<<= _dreamSelected.condition>>
<</for>>
<<if _reject is 0>> <<set _event to _dreamSelected.name>> <</if>>
<<if $gameStat.raped gte 10 and $visit.includes("Dream First Assault") is false>> <<set _event to "Dream First Assault">> <</if>>
<<if _event isnot "Slept">>
<<set $dreamCount += 1>> <</if>>
<</if>>You are laying on your bed. <br> <br>
<-- <<link "Get up" "Home Bedroom">> <</link>>
<br> <br>
<<set _missingEnergy to ($maxNeed[1] -$need[1])>>
<<set $neededSleep to Math.round(_missingEnergy /2)>>
<<link "Sleep until rested">> <<set $timeSlept to $neededSleep>>
<<sleep>>
<</link>> <<showTime $neededSleep>>
<br>
<<link "Sleep for 1 hour">> <<set $timeSlept to 60>>
<<sleep>>
<</link>> <<showTime 60>>
<br>
<<link "Sleep for 2 hours">> <<set $timeSlept to 120>>
<<sleep>>
<</link>> <<showTime 120>>
<br>
<<link "Sleep for 4 hours">> <<set $timeSlept to 240>>
<<sleep>>
<</link>> <<showTime 240>>
<br>
<<link "Sleep for 8 hours">> <<set $timeSlept to 480>>
<<sleep>>
<</link>> <<showTime 480>><<widget "sleep">>
<<if $dayFlag.slept isnot undefined>> <<goto "Slept">>
<<else>> <<event "Dream Pool">> <<set $dayFlag.slept to 1>>
<</if>>
<</widget>>
<<widget "sleepChange">> <<set _sleeping to 1>> <<if $timeSlept is undefined>> <<set $timeSlept to 1>> <</if>>
<<passtime $timeSlept>> <<set _sleep to $timeSlept *2>> <<gainNeed 1 _sleep>> <<unset _sleeping>> <<unset $timeSlept>>
<</widget>>Most of your systems hibernate as you sleep. <br> <br>
<<link "Continue">> <<sleepChange>> <<goto $location>> <</link>><<set $dayFlag["happyAssignmentListLewd"] to []>> <<set _assignmentList to []>>
<<set _uncommonChance to 0>>
<<if $happyStarsLewd gte 20>> <<set _uncommonChance to 5>> <</if>>
<<set _assignments to {
HappyThoughtsNaked: 10,
HappyThoughtsLightBondage: 10,
HappyThoughtsProstitution: 10,
HappyThoughtsCum: 10,
HappyThoughtsOrgasm: 10,
HappyThoughtsPartnerOrgasm: 10,
HappyThoughtsAphro: 10,
HappyThoughtsMonsterFuck: 10,
HappyThoughtsRape: _uncommonChance,
HappyThoughtsMindbroken: _uncommonChance,
}>>
<<mult 3>> <<set _added to 0>>
<<for _added is 0>>
<<set _add to weightedEither(_assignments)>>
<<if _assignmentList.includes(_add)>> <<else>>
<<set _assignmentList.push(_add)>> <<set _added to 1>>
<<set $dayFlag["happyAssignmentListLewd"].push( [_add, 0])>>
<</if>>
<</for>>
<</mult>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"Woah, amazing... feeling so vulnerable... I hope you enjoyed it too..." <<happyThoughtsPay 300>>
<br> <br> <<happyThoughtsReview 5 lewd>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"... yeah i don't think i'll do it irl. i rather not risk it... ill just keep putting up assignments instead" <<happyThoughtsPay 300>>
<br> <br> <<happyThoughtsReview 5 lewd>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"Thank you. I really wish I had the courage to do it for real." <<happyThoughtsPay 300>>
<br> <br> <<happyThoughtsReview 5 lewd>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"I'll be masturbating to this memory to years. Thank you." <<happyThoughtsPay 300>>
<br> <br> <<happyThoughtsReview 5 lewd>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"So delightful. Good <<pTitle Boy>>." <<happyThoughtsPay 300>>
<br> <br> <<happyThoughtsReview 5 lewd>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"That felt so good... now I'm horny irl LOL!" <<happyThoughtsPay 300>>
<br> <br> <<happyThoughtsReview 5 lewd>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
<<set _fluid to $totalFluid>>
<<if _fluid is 0>>
"... okay. Thanks for wasting my time." <br> <br> <<happyThoughtsReview 1 lewd>>
<<elseif _fluid lte 10>>
"... that's it? Please don't waste my time." <br> <br> <<happyThoughtsReview 2 lewd>>
<<elseif _fluid lte 30>>
"... that wasn't much but... at least you tried." <<happyThoughtsPay 50>> <br> <br> <<happyThoughtsReview 3 lewd>>
<<elseif _fluid lte 60>>
"Yeah... that was good. I wish it was more though..." <<happyThoughtsPay 100>> <br> <br> <<happyThoughtsReview 3 lewd>>
<<elseif _fluid lte 100>>
"YES. Still want more!" <<happyThoughtsPay 200>> <br> <br> <<happyThoughtsReview 4 lewd>>
<<else>>
"You're covered in it... I love it." <<happyThoughtsPay 400>> <br> <br> <<happyThoughtsReview 5 lewd>>
<</if>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"Woah that was awesome. Mind if I use this in my dating profile?" <<happyThoughtsPay 300>>
<br> <br> <<happyThoughtsReview 5 lewd>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"... i really wish i was you..." <<happyThoughtsPay 200>>
<br> <br> <<happyThoughtsReview 5 lewd>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"Oh, you loved it, huh?" <<happyThoughtsPay 500>>
<br> <br> <<happyThoughtsReview 5 lewd>>
<br> <br> <<passageXP 20>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client... but you can't understand a single word from it. At least you got paid...<<happyThoughtsPay 700>>
<br> <br> <<happyThoughtsReview 5 lewd>>
<br> <br> <<passageXP 20>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>><<set $dayFlag["happyAssignmentList"] to []>> <<set _assignmentList to []>>
<<set _uncommonChance to 0>> <<set _rareChance to 0>>
<<if $happyPerformance gte 20>> <<set _uncommonChance to 5>> <</if>>
<<if $happyPerformance gte 40>> <<set _uncommonChance to 10>> <</if>>
<<if $happyPerformance gte 60>> <<set _rareChance to 5>> <</if>>
<<set _assignments to {
HappyThoughtsUndercity: 10,
HappyThoughtsHappiness: 10,
HappyThoughtsBeauty: 10,
HappyThoughtsHit: 10,
HappyThoughtsCrime: 10,
HappyThoughtsIceCream: 10,
HappyThoughtsHeadpat: 10,
HappyThoughtsNectar: 10,
HappyThoughtsBarFight: _uncommonChance,
HappyThoughtsUnhappiness: _uncommonChance,
HappyThoughtsCandy: _uncommonChance,
HappyThoughtsCatMod: _uncommonChance,
HappyThoughtsWingsMod: _uncommonChance,
HappyThoughtsPassout: _rareChance,
HappyThoughtsDumpGift: _rareChance,
}>>
<<mult 3>> <<set _added to 0>>
<<for _added is 0>>
<<set _add to weightedEither(_assignments)>>
<<if _assignmentList.includes(_add)>> <<else>>
<<set _assignmentList.push(_add)>> <<set _added to 1>>
<<set $dayFlag["happyAssignmentList"].push( [_add, 0])>>
<</if>>
<</for>>
<</mult>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
<<if $depth is 0>>
"Oh... I could still see the Hell Gate. And it's not very dark... I guess it would be dangerous for you to go farther. But I can't pay much for this. Sorry." <<happyThoughtsPay 20>> <br> <br> <<happyThoughtsReview 1>>
<<elseif $depth lte 1>>
"It's so dark... I wonder what type of creatures hide out there. Thank you." <<happyThoughtsPay 50>> <br> <br> <<happyThoughtsReview 3>>
<<elseif $depth lte 2>>
"It's so dark... I wonder what type of creatures hide out there. Thank you." <<happyThoughtsPay 100>> <br> <br> <<happyThoughtsReview 3>>
<<elseif $depth lte 3>>
"It's so dark... I wonder what type of creatures hide out there. Thank you." <<happyThoughtsPay 150>> <br> <br> <<happyThoughtsReview 4>>
<<else>>
"It's so dark... I wonder what type of creatures hide out there. Thank you." <<happyThoughtsPay 200>> <br> <br> <<happyThoughtsReview 5>>
<</if>>
<br> <br> <<passageXP 10>> <br> <br>
<<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
<<if $need[3] gte $maxNeed[3] *0.9>>
"... That was nice. Feeling happy for a little while, even as someone else. But it just reminds me of how bad my real life is right now... Thank you, anyways." <<happyThoughtsPay 250>> <br> <br> <<happyThoughtsReview 5>>
<<elseif $need[3] gte $maxNeed[3] *0.8>>
"... That was nice. Feeling happy for a little while, even as someone else. But it just reminds me of how bad my real life is right now... Thank you, anyways." <<happyThoughtsPay 150>> <br> <br> <<happyThoughtsReview 4>>
<<elseif $need[3] gte $maxNeed[3] *0.7>>
"... That was decent. But it just reminds me of how bad my real life is right now... Thank you, anyways." <<happyThoughtsPay 50>> <br> <br> <<happyThoughtsReview 3>>
<<else>>
"... Hey. I think you need help too. Thanks for making me feel worse." <br> <br> <<happyThoughtsReview 1>>
<</if>>
<br> <br> <<passageXP 10>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
<<if $playerStat.Beauty lt 145>>
"... Truth be told, you don't look much better than myself. I'm definitely keeping my money." <br> <br> <<happyThoughtsReview 1>>
<<elseif $playerStat.Beauty lt 150>>
"You're definitely prettier than I am... thank you. I guess." <<happyThoughtsPay 30>> <br> <br> <<happyThoughtsReview 2>>
<<elseif $playerStat.Beauty lt 170>>
"That was... nice." <<happyThoughtsPay 60>> <br> <br> <<happyThoughtsReview 3>>
<<elseif $playerStat.Beauty lt 185>>
"Beautiful. I wish I could be you." <<happyThoughtsPay 120>> <br> <br> <<happyThoughtsReview 4>>
<<elseif $playerStat.Beauty lt 200>>
"Gorgeous... thank you." <<happyThoughtsPay 200>> <br> <br> <<happyThoughtsReview 5>>
<<else>>
"Amazing..." <<happyThoughtsPay 300>> <br> <br> <<happyThoughtsReview 5>>
<</if>>
<br> <br> <<passageXP 10>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"Wow. You see a LOT of action." <<happyThoughtsPay 150>>
<br> <br> <<happyThoughtsReview 5>>
<br> <br> <<passageXP 10>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"Oh thank you! It's been a while since I had some... well I guess I still don't. But it felt like I did!" <<happyThoughtsPay 50>>
<br> <br> <<happyThoughtsReview 5>>
<br> <br> <<passageXP 10>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"That was delicious... it's not fair. I spend all day working and these bugs can just eat that up all day?? Maybe tomorrow I'll join them." <<happyThoughtsPay 100>>
<br> <br> <<happyThoughtsReview 5>>
<br> <br> <<passageXP 10>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"i could get addicted to this..." <<happyThoughtsPay 75>>
<br> <br> <<happyThoughtsReview 5>>
<br> <br> <<passageXP 10>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"Hell yeah! Sure showed those pigs. You gave me the courage to go out and do some grafitti or something!! ... or... maybe I'll just place another assignment for that." <<happyThoughtsPay 150>>
<br> <br> <<happyThoughtsReview 5>>
<br> <br> <<passageXP 10>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"Amazing! I can feel the adrenaline pumping through my veins!" <<happyThoughtsPay 200>>
<br> <br> <<happyThoughtsReview 5>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"Hell yeah. Enjoy the aftereffects, idiot." <<happyThoughtsPay 300>>
<br> <br> <<happyThoughtsReview 5>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
<<if $bodyStat.Feline lte 0>>
"... did you misread my message or smth? :(" <br> <br> <<happyThoughtsReview 0>>
<<elseif $bodyStat.Feline lte 10>>
"uhh that was it?... okay i guess..." <<happyThoughtsPay 100>> <br> <br> <<happyThoughtsReview 2>>
<<elseif $bodyStat.Feline lte 30>>
"thank you... i wish you had more kitty parts tho..." <<happyThoughtsPay 200>> <br> <br> <<happyThoughtsReview 3>>
<<elseif $bodyStat.Feline lte 50>>
"meoowwww thank youuuu" <<happyThoughtsPay 350>> <br> <br> <<happyThoughtsReview 4>>
<<else>>
"AAAAHHHH THANK YOUUUU" <<happyThoughtsPay 600>> <br> <br> <<happyThoughtsReview 5>>
<</if>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"That was awesome! I could feel the air under my wings! I'm definitely writing a song about that." <<happyThoughtsPay 500>>
<br> <br> <<happyThoughtsReview 5>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
<<if $need[3] lte $maxNeed[3] *0.1>>
"... You have no idea how much you've made me appreciate my current life. Please keep suffering." <<happyThoughtsPay 1000>> <br> <br> <<happyThoughtsReview 5>>
<<elseif $need[3] lte $maxNeed[3] *0.3>>
"... You're suffering quite delightfully. Thank you." <<happyThoughtsPay 500>> <br> <br> <<happyThoughtsReview 4>>
<<elseif $need[3] lte $maxNeed[3] *0.5>>
"... Good enough. I hope you were suffering a little more." <<happyThoughtsPay 250>> <br> <br> <<happyThoughtsReview 3>>
<<else>>
"... Hey now. Things are not so bad for you. And I'm definitely not making them better by paying you." <br> <br> <<happyThoughtsReview 1>>
<</if>>
<br> <br> <<passageXP 15>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"Wasn't it nice?" <<happyThoughtsPay 3000>>
<br> <br> <<happyThoughtsReview 5>>
<br> <br> <<passageXP 30>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>>You upload your memory to the cloud. Soon enough you get a response from the client. <br> <br>
"I hope this makes it worth it." <<happyThoughtsPay 1500>>
<br> <br> <<happyThoughtsReview 5>>
<br> <br> <<passageXP 30>>
<br> <br> <<link "Continue" "Happy Thoughts">> <</link>><-- <<link "Leave">> <<goto $location>> <</link>>
<br> <br>
<h3> <span style="color:gold"> Happy Thoughts - Share your dreams </span> </h3>
You have completed $happyThought assignments. You can have $happyThoughtMax assignments active at the same time.
<<if $happyStars isnot undefined>> <br> <br>
Clients have given you a total of <span style="color:gold">$happyStars</span> Stars and you have a Performance Rating of <span style="color:gold">$happyPerformance</span>. Improve your rating by getting positive reviews! Higher rating means better assignments and extra payout! <</if>>
<<if $happyStarsLewd isnot undefined>> <br> <br>
Additionally, spicy clients have given you a total of <span style="color:hotpink">$happyStarsLewd</span>. <</if>>
<<if $happyAssignment.length gt 0>>
<h3> Active Assignments </h3>
<<for _i to 0; _i lt $happyAssignment.length; _i++>> <<capture _i>>
<div class="cardBox">
<<set _id to $happyAssignment[_i][0]>> <<capture _id>>
<<= setup[_id].name>> <span data-nokeys="true"> <<link "[?]">> <<dialog>> <span style="color:aqua"> <<itemDesc>> </span> <</dialog>> <</link>> </span> <<if setup[_id].max isnot undefined>> [Progress <<= $happyAssignment[_i][1]>>/<<= setup[_id].max>>] <</if>>
<br> <<set _show to 0>> <<= setup[_id].condition>>
<<if _show is 1>>
<<link "Upload">> <<= setup[_id].finish>> <<addMemory 7>> <<set $happyAssignment.deleteAt(_i)>> <<goto setup[_id].upload>> <</link>>
<<else>> Upload
<</if>> - <<link "Cancel" "Happy Thoughts">> <<= setup[_id].finish>> <<set $happyAssignment.deleteAt(_i)>> <</link>>
<</capture>>
</div> <</capture>> <</for>>
<</if>>
<<if $dayFlag["happyAssignmentList"] is undefined>>
<<include "Happy Thoughts Build">>
<</if>>
<h3> Available Assignments </h3>
<<if $dayFlag["happyAssignmentList"].length gt 0>>
<<for _i to 0; _i lt $dayFlag["happyAssignmentList"].length; _i++>> <<capture _i>>
<<set _id to $dayFlag["happyAssignmentList"][_i][0]>> <<capture _id>>
💬 <<= setup[_id].name>> <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<= setup[_id].clientMessage>> <br> <br> <span style="color:aqua"> <<itemDesc>> </span> <</dialog>> <</link>> </span>
<<if $happyAssignment.length lt $happyThoughtMax>>
-->
<<link "Accept" "Happy Thoughts">>
<<set $happyAssignment.push($dayFlag["happyAssignmentList"][_i])>>
<<= setup[_id].start>>
<<set $dayFlag["happyAssignmentList"].deleteAt(_i)>>
<</link>>
<</if>>
<</capture>> <</capture>> <br> <br> <</for>>
<<else>> <span style="color:red">There's no more assignments today. More will be available at 6AM tomorrow. </span>
<</if>>
<<if $happyThoughtLewd isnot undefined>>
<h3> Available Assignments (Spicy) </h3>
<<if $dayFlag["happyAssignmentListLewd"] is undefined>>
<<include "Happy Thoughts Build Lewd">>
<</if>>
<<if $dayFlag["happyAssignmentListLewd"].length gt 0>>
<<for _i to 0; _i lt $dayFlag["happyAssignmentListLewd"].length; _i++>> <<capture _i>>
<<set _id to $dayFlag["happyAssignmentListLewd"][_i][0]>> <<capture _id>>
💬 <<= setup[_id].name>> <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<= setup[_id].clientMessage>> <br> <br> <span style="color:aqua"> <<itemDesc>> </span> <</dialog>> <</link>> </span>
<<if $happyAssignment.length lt $happyThoughtMax>>
-->
<<link "Accept" "Happy Thoughts">> <<set $happyAssignment.push($dayFlag["happyAssignmentListLewd"][_i])>> <<set $dayFlag["happyAssignmentListLewd"].deleteAt(_i)>> <</link>>
<</if>>
<</capture>> <</capture>> <br> <br> <</for>>
<<else>> <span style="color:red">There's no more assignments today. More will be available at 6AM tomorrow. </span>
<</if>> <</if>><<widget "happyThoughtsPay">>
<<if $happyPerformance is undefined>> <<set $happyPerformance to 0>> <</if>>
<<set _payAmount to _args[0] + Math.trunc(_args[0] *($happyPerformance /200))>>
<<gainCred _payAmount>>
<</widget>>
<<widget "happyThoughtsReview">> <<set _yellow to _args[0]>> <<set _black to 5 -_args[0]>>
<span style="color:aqua">You get a _args[0] stars review!</span> [<<mult _yellow>>★<</mult>><<mult _black>>☆<</mult>>]
<<if _args.includes["lewd"]>>
<<if $happyStarsLewd is undefined>> <<set $happyStarsLewd to 0>> <</if>> <<set _previousStars to $happyStarsLewd>> <<set $happyStarsLewd += _args[0]>>
<<else>>
<<if $happyStars is undefined>> <<set $happyStars to 0>> <</if>> <<set _previousStars to $happyStars>> <<set $happyStars += _args[0]>>
<</if>>
<<if _args[0] is 0>> <<set $happyPerformance to Math.clamp($happyPerformance -12, 0, 100)>>
<<elseif _args[1] is 1>> <<set $happyPerformance to Math.clamp($happyPerformance -4, 0, 100)>>
<<elseif _args[1] is 2>> <<set $happyPerformance to Math.clamp($happyPerformance -1, 0, 100)>>
<<elseif _args[0] is 4>> <<set $happyPerformance to Math.clamp($happyPerformance +3, 0, 100)>>
<<elseif _args[0] is 5>> <<set $happyPerformance to Math.clamp($happyPerformance +10, 0, 100)>> <</if>>
<<set $happyThought += 1>>
<<if $happyStars gte 20 and _previousStars lt 20>>
<<addMail "Happy Thoughts: Congratulations on 20 total stars!" MailHappyThoughtsTwentyStars>>
<</if>>
<</widget>>You open the message. <br> <br>
"Congratulations for getting twenty total stars from our clients! Due to your excellent performance, you're now elligible for our... spicier clients :)" <br> <br>
'On our page you'll notice a new set of assignments. You are not forced to pick any of those, but know that naturally those clients will pay more. Have fun!' <br> <br>
'(We at Happy Thoughts do not take responsibility for our clients proposals. We're merely an intermediary between you and the client. DO NOT SUE.)'
<<set $happyThoughtLewd to 0>><<widget "calcSystemStatus">>
<<set $systemStatus to 1000 *($need[0] /$maxNeed[0])>>
<<if $need[0] lte 0>> <<set $systemStatus -= 100>> <</if>>
<<set $systemStatus += 1000 *($need[3] /$maxNeed[3])>>
<<if $need[3] lte 0>> <<set $systemStatus -= 100>> <</if>>
<<set $systemStatus += -300 *($neg[0] /$maxNeg[0])>>
<<set $systemStatus += -500 *($neg[3] /$maxNeg[3])>>
<<set $systemStatus += -400 *($neg[6] /$maxNeg[6])>>
<<set $systemStatus += Math.clamp($systemBonus, -1000, 1000)>>
<<if $dayFlag.dayTrauma isnot undefined>> <<set $systemStatus += Math.clamp(0 -($dayFlag.dayTrauma), -600, 0)>> <</if>>
<<set $systemStatus to Math.trunc($systemStatus)>>
<</widget>><span style="color:red"> Suddenly your body gives out. </span> Countless error messages flash on your vision before everything goes to black. <br> <br>
<<linkreplace "Reboot">> <span style="color:red"> Reboot failed. </span> You can't see anything, hear anything, feel anything. It's unlike being asleep. You wonder if its closer to being dead. <br> <br>
<<linkreplace "Reboot">> <span style="color:red"> Reboot failed (x2). </span> Your consciousness flickers, fragile on an empty sea. Perhaps it's better to keep sinking. <br> <br>
<<linkreplace "Reboot">> <span style="color:red"> Reboot failed (x3). </span> Nothing, nothing, nothing. <br> <br>
<<linkreplace "Reboot">> <span style="color:red"> Reboot failed (x4). </span> Did you just feel your heart beating? <br> <br>
<<link "Reboot">> <<passtime 180>> <<unset $end>> <<addMemory 3>>
<<set $systemBonus += 300>>
<<for _n to 0; _n lt setup.needs.length; _n++>>
<<if $need[_n] lte $maxNeed[_n] *0.1>>
<<set $need[_n] to Math.trunc($maxNeed[_n] *0.2)>>
<</if>>
<</for>>
<<event "System Error Eventpool">>
<</link>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>>
<</linkreplace>><<if $region is "Home">>
<<set _event to {
"System Error Clinic Wakeup": 10,
}>>
<<elseif $region is "Slum">>
<<set _event to {
"System Error Clinic Wakeup": 10,
"System Error Dumpster Wakeup": 10,
}>>
<<elseif $region is "Undercity">>
<<set _event to {
"System Error Clinic Wakeup": 10,
}>>
<</if>>
<<set _event to weightedEither(_event)>><<if $region is "Home">>
<<set $cost to 200>>
<<elseif $region is "Slum">>
<<set $cost to 600>>
<<elseif $region is "Undercity">>
<<set $cost to 1200>>
<</if>>
Just as suddenly you wake up. You blink repeatedly as you try to understand where you are. Slowly, you realize you are in the Residential Center's synth clinic, lying on a very uncomfortable steel bed. There's other injured synths around you, being treated by the clinic's bots. <br> <br>
Finally one of the latter notices you. The lights beside its facial camera flicker. <br> <br>
"Welcome back, resident. Your systems are operational again. Please vacate the bed-- there's more patients on the way." <br> <br>
You don't need to be told twice. After you stand up the bot addresses you again: <br> <br>
"Resident, please remember to pay the sum of $cost credits for the recuperation and repair services provided. Thank you for your continued trust on us." <br> <br>
<<link "Continue" "Residential Center">> <<set $location to "Residential Center">> <<questFlag passout>>
<<if $centerDebt is undefined>>
<<set $centerDebt to $cost>>
<<else>>
<<set $centerDebt += $cost>>
<</if>>
<<set $region to "Home">>
<</link>>You wake up in complete darkness, lying on a pile of trash. You feel weak and battered. <br> <br>
Slowly you reach around, touching what seems to be the inside of a metal dumpster. You eventually find the lid and kick it open. You get blinded by the city's lights. <br> <br>
As you get out of the dumpster you assess your state. <span style="color:orange"> All your body parts got damaged. </span> You still feel a little dizzy and disoriented. <br> <br>
Soon you stumble into the street. <br> <br>
<<link "Continue">> <<questFlag passout>>
<<for _key, _value range $body.external>> <<if _value isnot "none">> <<damageBodyPart _key 20 1>> <</if>> <</for>>
<<set $location to either("Sector B2", "Sector B4", "Sector D2", "Sector D4", "Sector E4", "Sector E2")>>
<<goto $location>>
<</link>><<widget "pickpocket">>
<<createPocket _args[0]>>
You got <<= setup[_item].name>> x_itemCount! <<lootItem setup[_item].cat _item _itemCount>> <br> <br>
<<set $gameStat.pickpocket += 1>>
<<if $gameStat.pickpocket is 5 and $perkMoves.includes("PickpocketMove") is false>>
<<learnPerkMove PickpocketMove>>
<</if>>
<</widget>>
<<widget "createPocket">>
<<set _item to weightedEither(setup[_args[0]].item)>>
<<set _itemCount to random(setup[_args[0]].amount[_item][0], setup[_args[0]].amount[_item][1])>>
<</widget>>You place the <<= setup[$itemSelected].name>> on your bed, in a situation that it seems comfortable in. <br> <br>
<<if $plushiesOnBed is undefined>> <<set $plushiesOnBed to []>> <</if>>
<<set $plushiesOnBed.push($itemSelected)>> <<set $perk.sleepComfort += setup[$itemSelected].comfort>>
<<link "Continue">> <<loseItem 2 $itemSelected 1>> <<unset $itemSelected>> <<goto $previous>> <</link>>A few police drones come to take you away. You're handcuffed and dragged through the air all the way to the police station. <br> <br>
Once there you are dropped to a small, completely empty cell. <br> <br>
<<link "Wait in silence" "Police Caught Wait">> <<passtime 30>> <</link>> <<showTime 30>>After thirty minutes of waiting, a pair of police bots stops in front of your cell. <br> <br>
"CITIZEN 217248913. IT'S TIME FOR YOUR PUNISHMENT. STEP OUT OF YOUR CELL." <br> <br>
The door opens with a mechanical screech. <br> <br>
<<link "Walk out" "Police Caught Walk">> <</link>>The bots guide you through the cells. You only see synths locked down. <br> <br>
"THIS IS THE AREA FOR IMPRISONMENT OF SYNTHETHICS." One of the bots explain. "TO MAXIMIZE EFFICIENCY WE PROVIDE PUNISHMENT AND/OR REPROGRAMATION AS SOON AS POSSIBLE." <br> <br>
<<set $gameStat.caughtByPolice += 1>>
<<if $gameStat.caughtByPolice is 1>> "WE HOPE THIS IS YOUR FIRST AND LAST TIME HERE." The other one adds. <<else>> "THIS ISNT YOUR FIRST TIME HERE, BUT WE HOPE ITS YOUR LAST." <</if>> <br> <br>
Soon you get to a white room. There's a one-way mirror on one of the walls. In the middle of the room theres a steel chair. <br> <br>
"TAKE A SEAT" <br> <br>
<<link "Sit down" "Police Caught Sit">> <</link>>You sit down on the chair. <<if $playerStat.UpperCover gt 0 or $playerStat.LowerCover gt 0>> The bots strip you from your clothing, leaving you completely naked. <</if>> From the chair protude several steel bindings that close on you, keeping you in place. <br> <br>
"YOUR REPROGRAMATION WILL START SOON." The bots say. "BASED ON YOUR CRIMINAL ACTIONS, WE CALCULATE THAT $crime MINUTES WILL SUFFICE." <br> <br>
From beneath the chair extend several mechanical limbs of diverse shapes. You try to scream, but soon one of them gags you and forced your head backwards. <br> <br>
<<link "Endure" "Police Reprogramation">> <</link>><<set $dontGainSex to 1>> <<trauma 8 0>>
<<if $repro is undefined>> <<unset $playerAction>> <<set $forced to 1>>
The mechanical limbs buzz and vibrate as they gently set on your exposed skin. <<playerStim 20 skin>> <<set $repro to 1>>
<<else>>
<<if $playerAction is "endure">> You grit your teeth and try to ignore the waves of pleasure that assault your body.
<</if>>
<<if $repro is 1>>
The mechanical limbs tease your exposed skin. <<playerStim 20 skin>> <<set $repro += 1>>
<<elseif $repro lte 2>>
The mechanical limbs caress your exposed skin. <<playerStim 20 skin>> <br> <br> One of them sets on your <<playerBreasts>>, starting to stimulate your nipples. <<playerStim 20 breasts>> <<set $repro += 1>>
<<elseif $repro lte 4>>
The mechanical limbs caress your exposed skin. <<playerStim 20 skin>> <br> <br>
One of them teases your <<playerBreasts>>, vibrating against your nipples. <<playerStim 20 breasts>> <br> <br>
One of them lowers to your <<playerCrotch>> and vibrates against your <<if $body.external["penis"] isnot "none">> <<playerPenis>>. <<playerStim 20 penis>> <<elseif $body.external["vagina"] isnot "none">> clit. <<playerStim 20 vagina>> <<else>> skin. <<playerStim 20 skin>>. <</if>> <<set $repro += 1>>
<<elseif $repro lte 6>>
The mechanical limbs caress your exposed skin. <<playerStim 20 skin>> <br> <br> One of them teases your <<playerBreasts>>, vibrating against your nipples. <<playerStim 20 breasts>> <br> <br> One of them presses against your crotch and vibrates against your <<if $body.external["penis"] isnot "none">> <<playerPenis>>. <<playerStim 20 penis>> <<elseif $body.external["vagina"] isnot "none">> clit. <<playerStim 20 vagina>> <<else>> skin. <<playerStim 20 skin>>. <</if>> <br> <br> The one gagging you starts thrusting into your mouth. <<playerStim 20 mouth>> <<set $repro += 1>>
<<elseif $repro lte 8>>
The mechanical limbs caress your exposed skin. <<playerStim 20 skin>> <br> <br> One of them teases your <<playerBreasts>>, vibrating against your nipples. <<playerStim 20 breasts>> <br> <br> One of them presses against your crotch and vibrates against your <<if $body.external["penis"] isnot "none">> <<playerPenis>>. <<playerStim 20 penis>> <<elseif $body.external["vagina"] isnot "none">> clit. <<playerStim 20 vagina>> <<else>> skin. <<playerStim 20 skin>>. <</if>> <br> <br> The one gagging you thrusts into your mouth. <<playerStim 20 mouth>> <br> <br> <<if $body.external["vagina"] isnot "none">> Another one starts pressing against your <<playerVagina>>, about to enter. <<playerStim 20 vagina>> <<else>> Another one starts pressing against your butt, about to enter. <<playerStim 40 skin>> <</if>> <<set $repro += 1>>
<<elseif $repro lte 10>>
The mechanical limbs caress your exposed skin. <<playerStim 20 skin>> <br> <br> One of them teases your <<playerBreasts>>, vibrating against your nipples. <<playerStim 20 breasts>> <br> <br> One of them presses against your crotch and vibrates against your <<if $body.external["penis"] isnot "none">> <<playerPenis>>. <<playerStim 20 penis>> <<elseif $body.external["vagina"] isnot "none">> clit. <<playerStim 20 vagina>> <<else>> skin. <<playerStim 20 skin>>. <</if>> <br> <br> The one gagging you thrusts into your mouth. <<playerStim 20 mouth>> <br> <br> <<if $body.external["vagina"] isnot "none">> The one pressing against your <<playerVagina>> enters you and starts thrusting in and out. <<playerStim 30 vagina>><<else>> The one pressing against your butt enters you and starts thrusting in and out. <<playerStim 60 skin>> <</if>> <<set $repro += 1>>
<<else>>
The mechanical limbs caress your exposed skin. <<playerStim 20 skin>> <br> <br> One of them teases your <<playerBreasts>>, vibrating against your nipples. <<playerStim 20 breasts>> <br> <br> One of them presses against your crotch and vibrates against your <<if $body.external["penis"] isnot "none">> <<playerPenis>>. <<playerStim 20 penis>> <<elseif $body.external["vagina"] isnot "none">> clit. <<playerStim 20 vagina>> <<else>> skin. <<playerStim 20 skin>>. <</if>> <br> <br> The one gagging you thrusts into your mouth. <<playerStim 20 mouth>> <br> <br> <<if $body.external["vagina"] isnot "none">> One relentlessly thrusts into your <<playerVagina>>. <<playerStim 30 vagina>> <<else>> One relentlessly thrusts into your butt. <<playerStim 60 skin>> <</if>> <<set $repro += 1>>
<</if>>
<</if>>
<br> <br>
<<if $crime gt 0>>
You have <span style="color:gold"> $crime </span> minutes left to pay for. <br> <br>
<<set _time to Math.clamp(Math.clamp(5, 0, 5), 0, $crime)>>
<<link "Endure" "Police Reprogramation">> <<passtime _time>> <<set $playerAction to "endure">> <<set $crime -= _time>> <</link>> <<showTime _time>> <br>
<<else>>
<span style="color:limegreen"> Time is up! </span> You're finally released from the chair.
<br> <br>
"HOPE YOU LEARN YOUR LESSON" The bots say as they help you back into your clothes. Dazed, you noticed a few cameras in the room you hadn't noticed before. <br> <br>
You are escorted outside of the police station. <br> <br>
<<link "Continue" "Sector B3">> <</link>>
<</if>><<widget "addCrime">>
<<set _gain to _args[0]>> <<if $playerStat.FaceCover gt 0>> <<set _gain to Math.trunc(_gain *0.7)>> <</if>>
<<set _gain to Math.trunc(_gain /($perk.crimeDiv /100))>>
<<set $crime += _gain>>
<<if $dayFlag.crime is undefined>> <<set $dayFlag.crime to 0>> <</if>>
<<set $dayFlag.crime += _gain>>
<<questFlag crime>>
<</widget>>
<<widget "crimeTip">>
<span style="color:red">Illegal</span>
<</widget>><<set _rarityPool to {
common: 10,
}>>
<<set _rarity to weightedEither(_rarityPool)>>
<<if _rarity is "common">>
<<set _event to {
"Police Graf Sneak": 20,
"Police Graf Drone": 10,
}>>
<</if>>
<<if _event isnot undefined>> <<set _event to weightedEither(_event)>> <</if>>You spray paint some graffiti on an unattended wall of the police station. <<addCrime 10>> <<loseItem 7 SprayPaint 1>> <<playerPersonality Vengeful 3>>
<br> <br><<include "Police Graf">>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Police Graf">>
A police drone turns the corner! You only have a few seconds to hide! <br> <br>
<<link "Jump behind a dumpster!" "Police Graf Drone Jump">> <<attCheck 4 10 20 12>> <</link>> <<showCheck 4 10 20>><<if $success is 1>> You manage to get out of sight! The drone flies past above you. <br> <br> <<passageXP 10>> <br> <br> <<link "Continue">> <<goto $location>> <<clearNPC>> <</link>>
<<else>> You get out of the way and think you're safe, but the police drone stops above you. <br> <br>
"Citizen. Comply and walk into the station." <br> <br>
<<link "Fight back!">> <<startFight>> <<createEnemy PoliceDrone 1>> <<goto 'Fight'>> <<set $aftermath to "Police Graf Drone Jump Win">> <<set $surrender to "Police Graf Drone Jump Surrender">> <<set $surrenderDanger to 2>> <</link>>
<</if>>The police drone smashes against the wall, right on your fresh graffiti. You promptly flee the scene. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>Defeated, you can't resist as the drone restrains you and carries you into the station. <br> <br>
<<addCrime 10>>
<<link "Continue" "Police Caught">> <</link>><-- <<link "Go back">> <<goto "Stats">> <</link>> <br> <br>
<div class="cols">
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt setup.specialMemory.length>> <<capture _i>>
<div class="cardBox">
<<if $memory.includes(_i)>>
<span style="color:aqua"><<= setup.specialMemory[_i].name>></span> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<= setup.specialMemory[_i].desc>> <</dialog>> <</link>> </span>
<<else>>
<span style="color:gray">??? </span> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<= setup.specialMemory[_i].tip>> <</dialog>> <</link>> </span>
<</if>>
</div> <</capture>> <</if>> <</for>>
</div>
<br>
<<if $pageStart gt 0>> <<link "Previous page" "Special Memories">>
<<set $pageStart -= 12>> <<set $pageEnd -= 12>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt setup.specialMemory.length -1>> <<link "Next page" "Special Memories">>
<<set $pageStart += 12>> <<set $pageEnd += 12>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)<<widget "addMemory">> <<if $memory is undefined>> <<set $memory to []>> <</if>>
<<if $memory.includes(_args[0]) is false>>
<<set $memory.push(_args[0])>>
<<set $message.push("<span style='color:purple'>Memory added...</span> - <span style='color:aqua'>" + setup.specialMemory[_args[0]].name + "</span>")>>
<</if>>
<</widget>><-- <<link "Go back">> <<goto $location>> <</link>> <br> <br>
<<set _optionsShown to 0>>
<<for _i to $pageStart; _optionsShown lt 5 and _i lt setup.craftList[$craftMenu].length; _i++>>
<<if _i lt setup.craftList[$craftMenu].length>> <<capture _i>> <<set _id to setup.craftList[$craftMenu][_i].item>> <<capture _id>>
<<if $skill[setup.craftList[$craftMenu][_i].skill] gte setup.craftList[$craftMenu][_i].level>> <<set _optionsShown += 1>>
<div class="cardBox">
<<= setup[_id].name>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> | <span style="color:aqua"><<= setup.craftList[$craftMenu][_i].skill>> <<= setup.craftList[$craftMenu][_i].level>> </span> <br>
<<set _craft to 0>> <<set _craftList to []>>
<<for _h to 0; _h lt setup.craftList[$craftMenu][_i].mat.length; _h++>>
<<haveItem setup.craftList[$craftMenu][_i].mat[_h][0] setup.craftList[$craftMenu][_i].mat[_h][1] setup.craftList[$craftMenu][_i].mat[_h][2]>>
<<set _craftList.push(_hasAmount)>>
<<if _has isnot "no">> <<set _craft += 1>> <</if>> <</for>>
<<if _craft gte setup.craftList[$craftMenu][_i].mat.length>>
<<link "Craft this">>
<<for _h to 0; _h lt setup.craftList[$craftMenu][_i].mat.length; _h++>>
<<loseItem setup.craftList[$craftMenu][_i].mat[_h][0] setup.craftList[$craftMenu][_i].mat[_h][1] setup.craftList[$craftMenu][_i].mat[_h][2]>> <</for>>
<<if setup.craftList[$craftMenu][_i].mult is undefined>> <<set _amount to setup.craftList[$craftMenu][_i].amount>> <<else>> <<set _amount to Math.clamp( Math.trunc(random(setup.craftList[$craftMenu][_i].amount, setup.craftList[$craftMenu][_i].amount *$skill.Crafting)), 1, setup.craftList[$craftMenu][_i].max)>> <</if>>
<<lootItem setup.craftList[$craftMenu][_i].type setup.craftList[$craftMenu][_i].item _amount>>
<<if $skill[setup.craftList[$craftMenu][_i].skill] lte setup.craftList[$craftMenu][_i].level>>
<<set $message.push("<<gainSkill " + setup.craftList[$craftMenu][_i].skill + " 10 10>>")>> <</if>>
<<passtime setup.craftList[$craftMenu][_i].time>>
<<goto "Crafting">>
<</link>>
<<else>> Craft this <</if>> <<showTime setup.craftList[$craftMenu][_i].time>>
<<for _h to 0; _h lt setup.craftList[$craftMenu][_i].mat.length; _h++>> | <<= setup[setup.craftList[$craftMenu][_i].mat[_h][1]].name>> (<<= setup.craftList[$craftMenu][_i].mat[_h][2]>>/<<= _craftList[_h]>>)
<</for>>
</div> <</if>>
<</capture>> <</capture>>
<</if>> <</for>>
<<if _optionsShown is 5 or $pageStart gt 0>>
<<if $pageStart gt 0>> <<link "Previous page" "Crafting">>
<<set $pageStart -= 5>> <<set $pageEnd -= 5>>
<</link>>
<<else>> Previous page <</if>> |
<<if _i lt setup.craftList[$craftMenu].length>> <<link "Next page" "Crafting">>
<<set $pageStart += 5>> <<set $pageEnd += 5>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><-- <<link "Go back">> <<goto $location>> <</link>> <br> <br>
Choose an item to disarm and get the detailed materials. <br> <br>
<<set _optionsShown to 0>>
<<for _i to $pageStart; _optionsShown lt 5 and _i lt setup.decraftList[$craftMenu].length; _i++>>
<<if _i lt setup.decraftList[$craftMenu].length>> <<capture _i>> <<set _id to setup.decraftList[$craftMenu][_i].item>> <<capture _id>>
<<haveItem setup.decraftList[$craftMenu][_i].type setup.decraftList[$craftMenu][_i].item setup.decraftList[$craftMenu][_i].amount>>
<<if $skill[setup.decraftList[$craftMenu][_i].skill] gte setup.decraftList[$craftMenu][_i].level and _has isnot "no">> <<set _optionsShown += 1>>
<div class="cardBox">
<<= setup[_id].name>> x<<= setup.decraftList[$craftMenu][_i].amount>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> | <span style="color:aqua"><<= setup.decraftList[$craftMenu][_i].skill>> <<= setup.decraftList[$craftMenu][_i].level>> </span> - You have x_hasAmount. <br>
<<link "Disarm this">>
<<for _h to 0; _h lt setup.decraftList[$craftMenu][_i].mat.length; _h++>>
<<lootItem setup.decraftList[$craftMenu][_i].mat[_h][0] setup.decraftList[$craftMenu][_i].mat[_h][1] setup.decraftList[$craftMenu][_i].mat[_h][2]>> <</for>>
<<loseItem setup.decraftList[$craftMenu][_i].type setup.decraftList[$craftMenu][_i].item setup.decraftList[$craftMenu][_i].amount>>
<<if $skill[setup.decraftList[$craftMenu][_i].skill] lte setup.decraftList[$craftMenu][_i].level>>
<<set $message.push("<<gainSkill " + setup.decraftList[$craftMenu][_i].skill + " 10 10>>")>> <</if>>
<<passtime setup.decraftList[$craftMenu][_i].time>>
<<goto "Decrafting">>
<</link>>
<<showTime setup.decraftList[$craftMenu][_i].time>>
<<for _h to 0; _h lt setup.decraftList[$craftMenu][_i].mat.length; _h++>> | <<= setup[setup.decraftList[$craftMenu][_i].mat[_h][1]].name>> x<<= setup.decraftList[$craftMenu][_i].mat[_h][2]>>
<</for>>
</div> <</if>>
<</capture>> <</capture>>
<</if>> <</for>>
<<if _optionsShown is 5 or $pageStart gt 0>>
<<if $pageStart gt 0>> <<link "Previous page" "Decrafting">>
<<set $pageStart -= 5>> <<set $pageEnd -= 5>>
<</link>>
<<else>> Previous page <</if>> |
<<if _i lt setup.decraftList[$craftMenu].length>> <<link "Next page" "Decrafting">>
<<set $pageStart += 5>> <<set $pageEnd += 5>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><-- <<link "Go back to inventory" "Backpack">> <<set $pageStart to 0>> <<set $pageEnd to 10>> <</link>> <br> <br>
<<link "See learned moves" "Learned Moves">> <</link>> (<<= $perkMoves.length>>)
<br> <br>
<<for _i to 0; _i lt $equipment.length; _i++>> <<capture _i>>
<div class="cardBox">
<<if $equipment[_i] isnot "none">> <<set _id to $equipment[_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $equipment[_i][2] isnot undefined>> (<<= $equipment[_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $equipment[_i][1]>> <<else>> -- <<percent $equipment[_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <</capture>> <<else>> EMPTY SLOT <</if>>
<br> <<if $inventory[6].length gt 0>> <<link "Equip something here" "Equipment Replace">> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $i to _i>> <</link>>
<<else>> No special equipment in inventory. <</if>>
<<if $equipment[_i] isnot "none">>
- <<link "Unequip" "Equipment">>
<<= setup[_id].unEquip>>
<<lootItem 6 $equipment[_i][0] $equipment[_i][1] $equipment[_i][2]>>
<<set $equipment[_i] to "none">>
<</link>>
<</if>>
</div>
<</capture>> <</for>><<if $pageStart gte $inventory[5].length>> <<set $pageStart to 0>> <<set $pageEnd to 5>> <</if>>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $inventory[5].length>> <<capture _i>>
<div class="cardBox"> <<set _id to $inventory[5][_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $inventory[5][_i][2] isnot undefined>> (<<= $inventory[5][_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $inventory[5][_i][1]>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <br>
<<link "Equip this">>
<<set _old to $body.internal[$i]>>
<<set $body.internal[$i] to [$inventory[5][_i][0], 1]>> <<= setup[$body.internal[$i][0]].equip>>
<<loseItem 5 $inventory[5][_i][0] 1>>
<<if _old isnot "none">> <<= setup[_old].unEquip>> <<lootItem 5 _old[0] 1 _old[2]>> <</if>> <<goto "Mirror">>
<</link>>
<</capture>> </div>
<</capture>>
<</if>> <</for>>
<<if $inventory[5].length gt 5>>
<<if $pageStart gt 0>> <<link "Previous page" "Node Replace">>
<<set $pageStart -= 5>> <<set $pageEnd -= 5>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $inventory[5].length>> <<link "Next page" "Node Replace">>
<<set $pageStart += 5>> <<set $pageEnd += 5>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><-- <<link "Nevermind" "Equipment">> <</link>> <br> <br>
<<set _equipList to []>> <<set _equipType to []>>
<<for _c to 0; _c lt $equipment.length; _c++>> <<if $equipment[_c] isnot "none">> <<set _equipList.push($equipment[_c][0])>> <<set _equipType.push(setup[$equipment[_c][0]].type)>> <</if>> <</for>>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $inventory[6].length>> <<capture _i>>
<div class="cardBox"> <<set _id to $inventory[6][_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $inventory[6][_i][2] isnot undefined>> (<<= $inventory[6][_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $inventory[6][_i][1]>> <<else>> -- <<percent $inventory[6][_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <br>
<<if _equipList.includes(_id) and setup[_id].unique is 1>> <span style="color:orange"> Already equipped. </span>
<<elseif _equipType.includes(setup[_id].type) and (setup[_id].type isnot "Gadget" and setup[_id].type isnot "Utility")>> <span style="color:orange"> <<= setup[_id].type>> already equipped. </span>
<<else>>
<<link "Equip this">>
<<set _old to $equipment[$i]>>
<<set $equipment[$i] to clone($inventory[6][_i])>> <<= setup[$equipment[$i][0]].equip>>
<<set $inventory[6].deleteAt(_i)>> <<if _old isnot "none">> <<= setup[_old].unEquip>> <<lootItem 6 _old[0] _old[1] _old[2]>> <</if>> <<goto "Equipment">>
<</link>>
<</if>>
<</capture>> </div>
<</capture>>
<</if>> <</for>>
<<if $inventory[6].length gt 10>>
<<if $pageStart gt 0>> <<link "Previous page" "Equipment Replace">>
<<set $pageStart -= 10>> <<set $pageEnd -= 10>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $inventory[6].length>> <<link "Next page" "Equipment Replace">>
<<set $pageStart += 10>> <<set $pageEnd += 10>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><<widget "equipmentCost" container>> <<capture _args>>
<<for _e to 0; _e lt $equipment.length; _e++>>
<<if $equipment[_e][0] is _args[0]>>
<<if $equipment[_e][1] gt 0>>
<<if _hideForNow>>
Your <<= setup[$equipment[_e][0]].name>> lost some use... <span style="color:limegreen"> (<<= $equipment[_e][1]>>% --> <</if>>
<<set $equipment[_e][1] -= _args[1]>>
<<if _hideForNow>>
<<= $equipment[_e][1]>>%) </span> --
<</if>>
_contents
<<else>>
<span style="color:red"> Your <<= setup[$equipment[_e][0]].name>> has no uses left.</span>
<</if>>
<</if>>
<</for>>
<</capture>>
<</widget>><-- <<link "Leave inventory">> <<goto $location>> <</link>>
<br> <br>
<<link "Manage Equipment and Learned Moves" "Equipment">> <<set $pageStart to 0>> <<set $pageEnd to 10>> <</link>>
<br> <br>
<span style="color:gold"> Categories </span>
<span data-nokeys="true">
<<for _i to 0; _i lt $inventory.length; _i++>> <<capture _i>>
| <<if $invTarget isnot _i>> <<link "<<= setup.invCat[_i]>>" "Backpack">> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $invTarget to _i>> <</link>> <<else>> <<= setup.invCat[_i]>> <</if>> (<<= $inventory[_i].length>>)
<</capture>> <</for>>
</span>
<br> <br>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $inventory[$invTarget].length>> <<capture _i>>
<div class="cardBox"> <<set _id to $inventory[$invTarget][_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $inventory[$invTarget][_i][2] isnot undefined>> (<<= $inventory[$invTarget][_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $inventory[$invTarget][_i][1]>> <<else>> <<percent $inventory[$invTarget][_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <br>
<<if setup[_id].tags.includes("clothing")>>
- <<link "Send to wardrobe">> <<set $wardrobe[setup[_id].cat].push([_id, $inventory[$invTarget][_i][1] ])>> <<set $inventory[$invTarget].deleteAt(_i)>> <<goto "Backpack">><</link>>
<</if>>
<<if setup[_id].consume isnot undefined>>
<<for _con to 0; _con lt setup[_id].consume.length; _con++>> <<capture _con>>
<<if $inventory[$invTarget][_i][1] gte setup[_id].consume[_con].cost>>
<<if setup[_id].consume[_con].power is undefined or $power gte setup[_id].consume[_con].power>>
<<if setup[_id].consume[_con].fullness is undefined or setup[_id].consume[_con].fullness lte Math.trunc(($maxNeed[2] -$need[2]) *1.2)>>
- <<link "<<= setup[_id].consume[_con].name>>">> <<loseItem $invTarget _id setup[_id].consume[_con].cost>>
<<set $message.push(setup[_id].consume[_con].effect)>> <<= setup[_id].consume[_con].insta>>
<<set _flag to "consume" + _id>> <<questFlag _flag>>
<<if setup[_id].consume[_con].power isnot undefined>> <<set $power -= setup[_id].consume[_con].power>> <</if>>
<<goto "Backpack">>
<</link>> <<if setup[_id].consume[_con].power isnot undefined>> (<<= setup[_id].consume[_con].power>> Core Power) <</if>>
<<else>> <span style="color:orange"> You are too full to eat this. </span> <</if>>
<<else>> <span style="color:orange"> Needs <<= setup[_id].consume[_con].power>> Core Power. </span>
<</if>>
<</if>>
<</capture>> <</for>>
<<else>> Can't use this here. <</if>>
<</capture>> </div>
<</capture>>
<</if>> <</for>>
<<if $inventory[$invTarget].length gt 10>>
<<if $pageStart gt 0>> <<link "Previous page" "Backpack">>
<<set $pageStart -= 10>> <<set $pageEnd -= 10>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $inventory[$invTarget].length>> <<link "Next page" "Backpack">>
<<set $pageStart += 10>> <<set $pageEnd += 10>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><-- <<link "Nevermind">> <<goto $previous>> <</link>>
<br> <br>
<span style="color:gold"> Categories </span>
<span data-nokeys="true">
<<for _i to 0; _i lt $inventory.length; _i++>> <<capture _i>>
| <<if $invTarget isnot _i>> <<link "<<= setup.invCat[_i]>>" "Item Selection">> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $invTarget to _i>> <</link>> <<else>> <<= setup.invCat[_i]>> <</if>> (<<= $inventory[_i].length>>)
<</capture>> <</for>> -- <<link "Switch to wardrobe" "Wardrobe Selection">> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <</link>>
</span>
<br> <br>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $inventory[$invTarget].length>> <<capture _i>>
<div class="cardBox"> <<set _id to $inventory[$invTarget][_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $inventory[$invTarget][_i][2] isnot undefined>> (<<= $inventory[$invTarget][_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $inventory[$invTarget][_i][1]>> <<else>> <<percent $inventory[$invTarget][_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <br>
<<if setup[_id].tags.includes($tagWanted)>>
<<link "Choose">> <<set $itemSelected to _id>> <<set $itemSelectedIndex to _i>> <<unset $tagWanted>> <<goto $aftermath>> <</link>>
<<else>> <span style="color:orange"> Can't use this. </span>
<</if>>
<</capture>> </div>
<</capture>>
<</if>> <</for>>
<<if $inventory[$invTarget].length gt 10>>
<<if $pageStart gt 0>> <<link "Previous page" "Item Selection">>
<<set $pageStart -= 10>> <<set $pageEnd -= 10>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $inventory[$invTarget].length>> <<link "Next page" "Item Selection">>
<<set $pageStart += 10>> <<set $pageEnd += 10>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><-- <<link "Nevermind">> <<goto $previous>> <</link>>
<br> <br>
<span style="color:gold"> Categories </span>
<span data-nokeys="true">
<<for _i to 0; _i lt setup.clothCat.length; _i++>> <<capture _i>>
| <<if $invTarget isnot _i>> <<link "<<= setup.clothCat[_i]>>" "Wardrobe Selection">> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $invTarget to _i>> <</link>> <<else>> <<= setup.clothCat[_i]>> <</if>> (<<= $wardrobe[_i].length>>)
<</capture>> <</for>> -- <<link "Switch to inventory" "Item Selection">> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <</link>>
</span>
<br> <br>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $wardrobe[$invTarget].length>> <<capture _i>>
<div class="cardBox"> <<set _id to $wardrobe[$invTarget][_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $wardrobe[$invTarget][_i][2] isnot undefined>> (<<= $wardrobe[$invTarget][_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $wardrobe[$invTarget][_i][1]>> <<else>> <<percent $wardrobe[$invTarget][_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <br>
<<if setup[_id].tags.includes($tagWanted)>>
<<link "Choose">> <<set $itemSelected to _id>> <<set $itemSelectedIndex to _i>> <<unset $tagWanted>> <<goto $aftermath>> <</link>>
<<else>> <span style="color:orange"> Can't use this. </span>
<</if>>
<</capture>> </div>
<</capture>>
<</if>> <</for>>
<<if $wardrobe[$invTarget].length gt 10>>
<<if $pageStart gt 0>> <<link "Previous page" "Item Selection">>
<<set $pageStart -= 10>> <<set $pageEnd -= 10>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $wardrobe[$invTarget].length>> <<link "Next page" "Item Selection">>
<<set $pageStart += 10>> <<set $pageEnd += 10>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><-- <<link "Leave shop">> <<unset $shopCode>> <<goto $location>> <</link>>
<br> <br>
<span style="color:gold"> $shop.length </span> items for sale.
<br> <br>
<<set _modifier to {}>>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $shop.length>> <<capture _i>> <<set _id to $shop[_i][0]>> <<capture _id>>
<div class="cardBox">
<<= setup[_id].name>><<if setup[_id].pair isnot undefined>>(s)<</if>> for <<= $shop[_i][1]>> Credits | <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span>
<<if $shop[_i][3] isnot undefined>>
<<if $shop[_i][3] is "color">>
<<set _modifier[_i] to "random color">> -- <<listbox "_modifier[_i]" autoselect>> <<optionsfrom setup.color>> <</listbox>>
<</if>>
<</if>> <br>
<span data-nokeys="true">
<<if setup[_id].nonStack is undefined>>
<<if $credit gte $shop[_i][1]>> <<link "Buy one">> <<set _cost to $shop[_i][1]>> <<set $credit -= _cost>> <<= setup[$shopCode]>> <<lootItem $shop[_i][2] $shop[_i][0] 1 _modifier[_i]>> <<goto "Shop">> <</link>> <<else>> Buy one <</if>> |
<<if $credit gte $shop[_i][1] *5>> <<link "Buy five">> <<set _cost to $shop[_i][1] *5>> <<set $credit -= _cost>> <<= setup[$shopCode]>> <<lootItem $shop[_i][2] $shop[_i][0] 5 _modifier[_i]>> <<goto "Shop">> <</link>> <<else>> Buy five <</if>> |
<<if $credit gte $shop[_i][1] *10>> <<link "Buy ten">> <<set _cost to $shop[_i][1] *10>> <<set $credit -= _cost>> <<= setup[$shopCode]>> <<lootItem $shop[_i][2] $shop[_i][0] 10 _modifier[_i]>> <<goto "Shop">> <</link>> <<else>> Buy ten <</if>>
<<else>>
<<if setup[_id].pair is undefined>>
<<if $credit gte $shop[_i][1]>> <<link "Buy one">> <<set _cost to $shop[_i][1]>> <<set $credit -= _cost>> <<= setup[$shopCode]>> <<lootItem $shop[_i][2] $shop[_i][0] setup[_id].dura _modifier[_i]>> <<goto "Shop">> <</link>> <<else>> Buy one <</if>> |
<<if $credit gte $shop[_i][1] *2>> <<link "Buy two">><<set _cost to $shop[_i][1] *2>> <<set $credit -= _cost>> <<= setup[$shopCode]>> <<mult 2>> <<lootItem $shop[_i][2] $shop[_i][0] setup[_id].dura _modifier[_i]>> <</mult>> <<goto "Shop">> <</link>> <<else>> Buy two <</if>> |
<<if $credit gte $shop[_i][1] *3>> <<link "Buy three">> <<set _cost to $shop[_i][1] *3>> <<set $credit -= _cost>> <<= setup[$shopCode]>> <<mult 3>> <<lootItem $shop[_i][2] $shop[_i][0] setup[_id].dura _modifier[_i]>> <</mult>> <<goto "Shop">> <</link>> <<else>> Buy three <</if>> |
<<if $credit gte $shop[_i][1] *5>> <<link "Buy five">> <<set _cost to $shop[_i][1] *5>> <<set $credit -= _cost>> <<= setup[$shopCode]>> <<mult 5>> <<lootItem $shop[_i][2] $shop[_i][0] setup[_id].dura _modifier[_i]>> <</mult>> <<goto "Shop">> <</link>> <<else>> Buy five <</if>>
<<else>>
<<if $credit gte $shop[_i][1]>> <<link "Buy a pair">><<set _cost to $shop[_i][1]>> <<for _modifier[_i] is "random color">> <<set _modifier[_i] to setup.color.random()>> <</for>> <<set $credit -= _cost>> <<= setup[$shopCode]>> <<mult 2>> <<lootItem $shop[_i][2] $shop[_i][0] setup[_id].dura _modifier[_i]>> <</mult>> <<goto "Shop">> <</link>> <<else>> Buy a pair <</if>> |
<<if $credit gte $shop[_i][1] *2>> <<link "Buy two pairs">><<set _cost to $shop[_i][1] *2>> <<for _modifier[_i] is "random color">> <<set _modifier[_i] to setup.color.random()>> <</for>> <<set $credit -= _cost>> <<= setup[$shopCode]>> <<mult 4>> <<lootItem $shop[_i][2] $shop[_i][0] setup[_id].dura _modifier[_i]>> <</mult>> <<goto "Shop">> <</link>> <<else>> Buy two pairs <</if>> |
<<if $credit gte $shop[_i][1] *4>> <<link "Buy four pairs">><<set _cost to $shop[_i][1] *4>> <<for _modifier[_i] is "random color">> <<set _modifier[_i] to setup.color.random()>> <</for>> <<set $credit -= _cost>> <<= setup[$shopCode]>> <<mult 8>> <<lootItem $shop[_i][2] $shop[_i][0] setup[_id].dura _modifier[_i]>> <</mult>> <<goto "Shop">> <</link>> <<else>> Buy four pairs <</if>> |
<</if>>
<</if>>
</span>
</div> <</capture>>
<</capture>>
<</if>> <</for>>
<<if $shop.length gt 8>>
<<if $pageStart gt 0>> <<link "Previous page" "Shop">>
<<set $pageStart -= 8>> <<set $pageEnd -= 8>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $shop.length>> <<link "Next page" "Shop">>
<<set $pageStart += 8>> <<set $pageEnd += 8>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><-- <<link "Leave shop">> <<goto $location>> <</link>>
<br> <br>
<span style="color:gold"> $shop.length </span> items wanted.
<br> <br>
<<set _modifier to {}>>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $shop.length>> <<capture _i>> <<set _id to $shop[_i][0]>> <<capture _id>>
<div class="cardBox">
<<= setup[_id].name>> for <<= $shop[_i][1]>> Credits | <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span>
<br>
<span data-nokeys="true">
<<haveItem $shop[_i][2] $shop[_i][0] 1>>
<<capture _has>>
<<if _has isnot "no">> You have <span style="color:gold"> x<<= $inventory[$shop[_i][2]][_has][1]>></span>.
<<if $inventory[$shop[_i][2]][_has][1] gte 1>> <<link "Sell one">> <<set $credit += $shop[_i][1]>> <<loseItem $shop[_i][2] $shop[_i][0] 1>> <<goto "Sell Shop">> <</link>> <<else>> Sell one <</if>> |
<<if $inventory[$shop[_i][2]][_has][1] gte 5>> <<link "Sell five">> <<set $credit += $shop[_i][1] *5>> <<loseItem $shop[_i][2] $shop[_i][0] 5>> <<goto "Sell Shop">> <</link>> <<else>> Sell five <</if>> |
<<if $inventory[$shop[_i][2]][_has][1] gte 10>> <<link "Sell ten">> <<set $credit += $shop[_i][1] *5>> <<loseItem $shop[_i][2] $shop[_i][0] 10>> <<goto "Sell Shop">> <</link>> <<else>> Sell ten <</if>> |
<<link "Sell all">> <<set $credit += $shop[_i][1] *$inventory[$shop[_i][2]][_has][1]>> <<loseItem $shop[_i][2] $shop[_i][0] $inventory[$shop[_i][2]][_has][1]>> <<goto "Sell Shop">> <</link>>
<<else>> You don't have any.
<</if>>
<</capture>>
</span>
</div> <</capture>>
<</capture>>
<</if>> <</for>>
<<if $shop.length gt 8>>
<<if $pageStart gt 0>> <<link "Previous page" "Sell Shop">>
<<set $pageStart -= 8>> <<set $pageEnd -= 8>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $shop.length>> <<link "Next page" "Sell Shop">>
<<set $pageStart += 8>> <<set $pageEnd += 8>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><<widget "itemDesc">>
<<= setup[_id].desc>>
<<if setup[_id].dura isnot undefined>> <span style="color:gray"> (<<= setup[_id].dura>> Durability) </span> <</if>>
<<if setup[_id].playerStat isnot undefined>>
<<if setup[_id].playerStat.Beauty isnot undefined>> <span style="color:pink"> (<<= setup[_id].playerStat.Beauty>> Beauty) </span> <</if>>
<<if setup[_id].playerStat.Protection isnot undefined>> <span style="color:burlywood"> (<<= setup[_id].playerStat.Protection>> Protection) </span> <</if>>
<<if setup[_id].playerStat.Sens isnot undefined>> <span style="color:purple"> (<<= setup[_id].playerStat.Sens>> Sensitivity) </span> <</if>>
<<if setup[_id].playerStat.FaceCover isnot undefined>> <br> <br> <span style="color:limegreen"> Covers your face, reducing all Bad Reputation gain. </span> <</if>>
<</if>>
<<if setup[_id].attBonus isnot undefined>> <br>
<<for _at to 0; _at lt $attBonus.length; _at++>>
<<if setup[_id].attBonus[_at] gt 0>>
<br><span style="color:aqua"> <<= setup.att[_at]>> </span> <span style="color:gold">+<<= setup[_id].attBonus[_at]>></span>
<<elseif setup[_id].attBonus[_at] lt 0>>
<br><span style="color:aqua"> <<= setup.att[_at]>> </span> <span style="color:red"><<= setup[_id].attBonus[_at]>></span>
<</if>>
<</for>>
<</if>>
<<if setup[_id].attRate isnot undefined>> <br>
<<for _at to 0; _at lt $attRate.length; _at++>>
<<if setup[_id].attRate[_at] gt 0>>
<br><span style="color:aqua"> <<= setup.att[_at]>> Growth </span> <span style="color:gold">+<<= setup[_id].attRate[_at] *5>>%</span>
<<elseif setup[_id].attRate[_at] lt 0>>
<br><span style="color:aqua"> <<= setup.att[_at]>> Growth </span> <span style="color:red"><<= setup[_id].attRate[_at] *5>>%</span>
<</if>>
<</for>>
<</if>>
<<if setup[_id].attMult isnot undefined>> <br>
<<for _at to 0; _at lt $attMult.length; _at++>>
<<if setup[_id].attMult[_at] gt 0>>
<br><span style="color:aqua"> <<= setup.att[_at]>> Multiplier </span> <span style="color:gold">+<<= setup[_id].attMult[_at] *5>>%</span>
<<elseif setup[_id].attMult[_at] lt 0>>
<br><span style="color:aqua"> <<= setup.att[_at]>> Multiplier </span> <span style="color:red"><<= setup[_id].attMult[_at] *5>>%</span>
<</if>>
<</for>>
<</if>>
<<if setup[_id].clothTrait isnot undefined>> <br> <br> Cumulative Traits -->
<<for _clothkey, _clothvalue range setup[_id].clothTrait>>
<br> <<= setup.clothingTrait[_clothkey].name>> (_clothvalue) - <<= setup.clothingTrait[_clothkey].desc>>
<</for>>
<</if>>
<<if setup[_id].tags isnot undefined>>
<<if setup[_id].tags.includes("plushy")>> <br> <br>
You can place this on your bed to increase sleep comfort (gain Mental while sleeping).
<</if>>
<<if setup[_id].tags.includes("equipment")>> <br> <br>
<span style="color:aqua">Equipment - <<= setup[_id].type>> </span>
<</if>>
<</if>>
<<if setup[_id].physical isnot undefined and setup[_id].config is undefined>> <br> <br> Physical Configuration --> <br>
<span style="color:gold"><<= setup[_id].part.toUpperFirst()>></span>
<<for _physicalkey, _physicalvalue range setup[_id].physical>>
- <<= _physicalkey.toUpperFirst()>>: _physicalvalue <</for>>
<<elseif setup[_id].config isnot undefined>> <br> <br> Physical Configuration --> <br>
<span style="color:gold"><<= setup[_id].part.toUpperFirst()>></span>
<<if setup[_id].config.physical.length isnot undefined>>
- Length: [<<= setup[_id].config.physical.length[0]>>/<<= setup[_id].config.physical.length[1]>>] <</if>>
<<if setup[_id].config.physical.color isnot undefined>>
- Color: x<<= setup[_id].config.physical.color.length>> <</if>>
<<if setup[_id].config.physical.size isnot undefined>>
- Size: [<<= setup[_id].config.physical.size[0]>>/<<= setup[_id].config.physical.size[1]>>] <</if>>
<<if setup[_id].config.physical.sens isnot undefined>>
- Sens: [<<= setup[_id].config.physical.sens[0]>>/<<= setup[_id].config.physical.sens[1]>>]% <</if>>
<<if setup[_id].config.physical.skill isnot undefined>>
- Skill: [<<= setup[_id].config.physical.skill[0]>>/<<= setup[_id].config.physical.skill[1]>>]% <</if>>
<</if>>
<<if setup[_id].combatMove isnot undefined>> <br> <br> Combat Moves --> <br>
<<for _cm to 0; _cm lt setup[_id].combatMove.length; _cm++>>
<<if setup[setup[_id].combatMove[_cm]].skill is undefined or setup[setup[_id].combatMove[_cm]].skillLevel lt $skill[setup[setup[_id].combatMove[_cm]].skill]>>
- <span style="color:gold"> <<= setup[setup[_id].combatMove[_cm]].name>> </span>
<span style="color:aqua">
<<if setup[setup[_id].combatMove[_cm]].ap is 0>>
[FREE]
<</if>>
<<if setup[setup[_id].combatMove[_cm]].power gt 0>>
[PWR <<= setup[setup[_id].combatMove[_cm]].power>>]
<</if>>
<<if setup[setup[_id].combatMove[_cm]].maxCd gt 0>>
[CD <<= setup[setup[_id].combatMove[_cm]].maxCd>>]
<</if>>
<<if setup[setup[_id].combatMove[_cm]].uses gt 0>>
[Uses <<= setup[setup[_id].combatMove[_cm]].uses>>]
<</if>>
</span>
-
<<= setup[setup[_id].combatMove[_cm]].desc>>
<br>
<<else>>
- <span style="color:gray"> Move unlocked at <<= setup[setup[_id].combatMove[_cm]].skill>> <<= setup[setup[_id].combatMove[_cm]].skillLevel>>. </span> <br>
<</if>>
<</for>>
<</if>>
<</widget>>
<<widget "haveItem">> <<set _has to "no">> <<set _hasAmount to 0>>
<<for _z to 0; _z lt $inventory[_args[0]].length; _z++>>
<<if $inventory[_args[0]][_z][0] is _args[1] and $inventory[_args[0]][_z][1] gte _args[2] and $inventory[_args[0]][_z][2] is _args[3]>>
<<set _has to _z>> <<set _hasAmount to $inventory[_args[0]][_z][1]>> <<set _z to $inventory[_args[0]].length>>
<</if>>
<</for>>
<</widget>>
<<widget "haveClothing">> <<set _has to "no">> <<set _hasAmount to 0>>
<<for _z to 0; _z lt $wardrobe[_args[0]].length; _z++>>
<<if $wardrobe[_args[0]][_z][0] is _args[1] and $wardrobe[_args[0]][_z][1] gte _args[2] and (_args[3] is undefined or $wardrobe[_args[0]][_z][2] is _args[3])>>
<<set _has to _z>> <<set _hasAmount to $wardrobe[_args[0]][_z][1]>> <<set _z to $wardrobe[_args[0]].length>>
<</if>>
<</for>>
<</widget>>
<<widget "lootItem">> <<set _looted to 0>>
<<set _loot to [_args[1], _args[2]]>>
<<if _args[3] isnot undefined>>
<<if _args[3] is "random color">> <<set _color to "random color">>
<<for _color is "random color">> <<set _color to setup.color.random()>> <</for>>
<<set _loot.push(_color)>>
<<else>>
<<set _loot.push(_args[3])>>
<</if>> <</if>>
<<if setup[_args[1]].cat isnot undefined>> <<set _cat to setup[_args[1]].cat>> <<else>> <<set _cat to _args[0]>> <</if>>
<<if setup[_args[1]].tags.includes("clothing") is false>>
<<if setup[_args[1]].nonStack is undefined>>
<<for _z to 0; _z lt $inventory[_cat].length; _z++>>
<<if $inventory[_cat][_z][0] is _loot[0] and $inventory[_cat][_z][2] is _loot[2]>>
<<set $inventory[_cat][_z][1] += _loot[1]>>
<<set _looted to 1>> <<set _z to $inventory[_cat].length>>
<</if>>
<</for>> <</if>>
<<if _looted is 0>>
<<set $inventory[_cat].push(_loot)>>
<</if>>
<<if setup[_args[1]].nonStack is undefined>>
<<set _message to "Added to inventory (" + setup.invCat[_cat] + "): " + setup[_args[1]].name + " x" + _args[2] + "!">>
<<else>>
<<set _message to "Added to inventory (" + setup.invCat[_cat] + "): " + setup[_args[1]].name + " " + "<<percent " + _args[2] + " " + setup[_args[1]].dura + " green>> !">>
<</if>>
<<set $message.push(_message)>>
<<else>>
<<set $wardrobe[_cat].push(_loot)>>
<<set _message to "Added to wardrobe (" + setup.clothCat[_cat] + "): " + setup[_args[1]].name + " " + "<<percent " + _args[2] + " " + setup[_args[1]].dura + " green>> !">>
<<set $message.push(_message)>>
<</if>>
<</widget>>
<<widget "loseItem">> <<set _lost to 0>>
<<set _loot to [_args[1], _args[2] ]>>
<<for _z to 0; _z lt $inventory[_args[0]].length; _z++>>
<<if $inventory[_args[0]][_z][0] is _loot[0] and ($inventory[_args[0]][_z][1] gte _loot[1] or _args[2] is "all")>>
<<if _args[2] is "all">> <<set $inventory[_args[0]][_z][1] to 0>>
<<else>> <<set $inventory[_args[0]][_z][1] -= _loot[1]>> <</if>>
<<if $inventory[_args[0]][_z][1] lte 0>> <<set $inventory[_args[0]].deleteAt(_z)>> <</if>>
<<set _lost to 1>> <<set _z to $inventory[_args[0]].length>>
<</if>>
<</for>>
<</widget>>
<<widget "showItem">>
<div class="cardBox"> <<set _id to _args[0]>> <<capture _id>>
<<= setup[_id].name>> <<if _args[2] isnot undefined>> (<<= _args[2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= _args[1]>> <<else>> <<percent _args[1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <br>
Showing item
<</capture>> </div>
<</widget>><<widget "npCloth">><<if _pt is undefined>><<set _pt to 0>><</if>><<= $partner[_pt].clothing[_args[0]]>><</widget>>
<<widget "npPart">><<if _pt is undefined>><<set _pt to 0>><</if>><<= $partner[_pt].body[_args[0]].noun>><</widget>>
<<widget "npPenisSize">> <<if _pt is undefined>> <<set _pt to 0>> <</if>>
<<switch $partner[_pt].body["Penis"].size>>\
<<case 0>> micro
<<case 1 2>> tiny
<<case 3 4>> small
<<case 5 6>>
<<case 7 8>> <span style="color:orange">big</span>
<<case 9 10>> <span style="color:red">huge</span>
<<case 11 12 13>> <span style="color:red">massive</span>
<<case 14 15 16>> <span style="color:red">gargantuan</span>
<<default>> normal
<</switch>>\
<</widget>>
<<widget "partnerDialogue">>
<<if $partner[_args[0]].personality isnot "noTalk">>
<<set _showDialogue to random(1, 100)>>
<<if _showDialogue lte _args[3] and setup[$partner[_args[0]].personality][_args[1]][_args[2]][$forced] isnot undefined and setup[$partner[_args[0]].personality][_args[1]][_args[2]][$forced].length gt 0>>
"<<= setup[$partner[_args[0]].personality][_args[1]][_args[2]][$forced].random()>>"
<<if _args[4] isnot "none">> <<np He _pt>> <<= setup.Says[_args[4]].random()>>. <</if>> <</if>>
<</if>>
<</widget>><<widget "createPartner">>
<<set _id to _args[0]>>
<<set _partner to clone(setup[$npc[_id].persona][$npc[_id].gender].partner)>>
<<set _partner.level to random(_partner.minLevel, _partner.maxLevel)>>
<<set _partner.maxArousal to random($npc[_id].maxArousal[0], $npc[_id].maxArousal[1])>>
<<set _partner.shots to $npc[_id].shots>>
<<set _partner.personality to $npc[_id].personality>>
<<set _partner.pTraits to []>>
<<if $npc[_id].pTraits isnot undefined>> <<for _p to 0; _p lt $npc[_id].pTraits.length; _p++>>
<<if $pTraits[$npc[_id].pTraits[_p][0]] isnot undefined>>
<<set _chance to Math.trunc($npc[_id].pTraits[_p][1] *($pTraits[$npc[_id].pTraits[_p][0]] /100))>>
<<else>> <<set _chance to $npc[_id].pTraits[_p][1]>> <</if>>
<<chance _chance>> <<set _partner.pTraits.push($npc[_id].pTraits[_p][0])>> <</chance>>
<</for>> <</if>>
<<set _partner.active to 0>>
<<set _partner.TopAct to "yes">> <<set _partner.BottomAct to "yes">>
<<for _key, _value range _partner.clothing>>
<<set _partner.clothing[_key] to either(_value)>>
<</for>>
<<for _key, _value range _partner.body>>
<<if _partner.body[_key].size isnot undefined>> <<set _partner.body[_key].size to random(_partner.body[_key].size[0], _partner.body[_key].size[1])>> <</if>>
<</for>>
<<set _partner.orgasm to 0>>
<<if _args.includes("backup") is false>>
<<set $partner.push(clone(_partner))>>
<<else>>
<<set $partnerBackup.push(clone(_partner))>>
<</if>>
<</widget>>
<<widget "clearPartner">>
<<set $partner to []>> <<set $partnerBackup to []>>
<</widget>><<widget "fucktoyCheck">>
<<if $forced is 1>>
<<if $playerStat.Fucktoy lte 50>>
<span style="color:red">You flinch in abject disgust. </span>
<<elseif $playerStat.Fucktoy lte 100>>
<span style="color:orange">You wince away.</span>
<<elseif $playerStat.Fucktoy lte 200>>
<span style="color:yellow">You manage to endure without flinching away.</span>
<<else>>
<span style="color:limegreen">You barely react.</span>
<</if>>
<<playerForced 150>> <</if>>
<</widget>>
<<widget "playerForced">> <<set _base to _args[0]>>
<<set _loss to Math.trunc(_base /(1 +($playerStat.Fucktoy /150)))>>
<<set _sexuality to Math.trunc(($att[5] +$attBonus[5]) *(Math.clamp($attMult[5], 4, 100) /20))>>
<<set _loss to Math.trunc(_loss /(_sexuality /10))>>
<<if $personality.Lewd gt 0>>
<<set _loss to Math.trunc(_loss /(1 +($personality.Lewd /200)))>>
<</if>>
<<if $prostCost isnot undefined>> <<set _loss to Math.trunc(_loss *0.4)>> <</if>>
<<loseNeed 3 _loss>>
<</widget>><<widget "playerExposed">> <<set _base to _args[0]>>
<<set _loss to Math.trunc(_base /(1 +($playerStat.Shower /150)))>>
<<if $personality.Lewd gt 0>>
<<set _loss to Math.trunc(_loss /(1 +($personality.Lewd /200)))>>
<</if>>
<<loseNeed 3 _loss>>
<<set $need[4] -= Math.trunc(_base *($playerStat.Shower /200))>>
<<set _repToGain to (_base /70)>>
<<silently>> <<gainNegRep 0 _repToGain>> <</silently>> <<trauma 1 0>>
<</widget>>
<<widget "playerStrip">>
<<set _offList to []>>
<<for _key, _value range $clothing>> <<if _args.includes(_key)>>
<<for _cl to 0; _cl lt _value.length; _cl++>>
<<if _value[_cl][2] isnot "locked">>
<<if _args.includes("returnClothes")>> <<lootItem 3 _value[_cl][0] _value[_cl][1] _value[_cl][2]>> <</if>>
<<= setup[_value[_cl][0]].off>> <<set $clothingLayer[_key] -= setup[_value[_cl][0]].thickness>>
<<if setup[_value[_cl][0]].fullwear isnot undefined>> <<set $clothingLayer["lower body"] += setup[_value[_cl][0]].thickness>><</if>>
<<set _offList.push(_value[_cl][0])>>
<</if>>
<</for>>
<<for _cl to _value.length -1; _cl gt -1; _cl-->>
<<if _value[_cl][2] isnot "locked">> <<set $clothing[_key].deleteAt(_cl)>> <</if>>
<</for>> <</if>>
<</for>> <<aoe _offList.length>> <<clothOff _offList[_tg]>> <</aoe>>
<</widget>>
<<widget "checkWear">> <<set _wearing to 0>>
<<set _offList to []>>
<<for _key, _value range $clothing>> <<if _args.includes(_key)>>
<<for _cl to 0; _cl lt _value.length; _cl++>>
<<if _args.includes("trait")>>
<<if _value[_cl][2] is _args[0]>> <<set _wearing to 1>> <<set _wearIndex to _cl>> <</if>>
<</if>>
<<if _args.includes("tags")>>
<<if setup[_value[_cl][0]].tags.includes(_args[0])>> <<set _wearing to 1>> <<set _wearIndex to _cl>> <</if>>
<</if>>
<<if _value[_cl][0] is _args[0]>> <<set _wearing to 1>> <<set _wearIndex to _cl>> <</if>>
<</for>> <</if>>
<</for>>
<</widget>>
<<widget "playerBreasts">><<if $body.external["breasts"] isnot "none">><span style="color:hotpink"> <<= setup[$body.external["breasts"][0]].noun>></span><<else>>chest <</if>><</widget>>
<<widget "playerBreastSize">>
<<switch $physical["breasts"].size>>
<<case 0>> flat
<<case 1>> tiny
<<case 2>> small
<<case 3>> perky
<<case 4>> average
<<case 5>> sizeable
<<case 6>> big
<<case 7>> heavy
<<case 8>> massive
<<default>> normal
<</switch>>
<</widget>>
<<widget "playerCrotch">><<if $body.external["penis"] isnot "none">>
<<playerPenis>>
<<if $body.external["vagina"] isnot "none">> and <<playerVagina>> <</if>>
<<elseif $body.external["vagina"] isnot "none">> <<playerVagina>>
<<else>>
crotch<</if>>
<</widget>>
<<widget "playerPenis">><span style="color:hotpink"> <<= setup[$body.external["penis"][0]].noun>></span><</widget>>
<<widget "playerVagina">><span style="color:hotpink"> <<= setup[$body.external["vagina"][0]].noun>></span><</widget>>
<<widget "playerPenisSize">>
<<switch $physical["penis"].size>>
<<case 0>> micro
<<case 1 2>> tiny
<<case 3 4>> small
<<case 5 6>> medium-sized
<<case 7 8>> big
<<case 9 10>> huge
<<case 11 12 13>> massive
<<case 14 15 16>> gargantuan
<<default>> normal
<</switch>>
<</widget>><<widget "applyFluid">> <<set _stated to 0>> <<set _id to _args[0]>>
<<set _state to [_id, _args[1], _args[2] ]>>
<<for _z to 0; _z lt $fluid.length; _z++>>
<<if $fluid[_z][0] is _id and $fluid[_z][1] is _args[1]>>
<<set $fluid[_z][2] += _args[2]>>
<<set _stated to 1>> <<set _z to $fluid.length>>
<</if>>
<</for>>
<<if _stated is 0>>
<<set $fluid.push(_state)>>
<</if>>
<<set $totalFluid += _args[2]>>
<span style="color:hotpink"> _args[2] ML of <<= setup[_id].name>> <<= either("splash against", "land on")>> your _args[1]! </span>
<</widget>><<if $mastAttempt is undefined>>
Your hands move on to your <<playerCrotch>>, searching for release. <br> <br>
... but, no matter what you do, you feel nothing at all. <br> <br>
Your own touch doesn't excite you at all. It should by all logical means, but after a few frustrating minutes you realize the truth: you simply aren't designed to get pleasure from yourself. You must have been built with some kind of mental block, a way to force you to only get pleasure from the hands of who would have been your owner. <br> <br>
You try some more time, but you only feel more and more frustrated. Eventually you can only stop and seethe in silence. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<set $mastAttempt to 0>>
<<else>>
You try to pass your mental block by rubbing your <<playerCrotch>> against the frame of the bed, or on your bedding... but nothing works. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<</if>>
<<set $mastAttempt += 1>><<widget "playerArousal">>
<<set _prev to $neg[1]>>
<<set _raw to _args[0] *(1 + ($neg[5] /$maxNeg[5]))>>
<<gainNeg 1 _raw>>
<<if _args[1] isnot undefined>>
<<if $neg[1] gte $maxNeg[1] *_args[1]>>
<<set $neg[1] to $maxNeg[1] *_args[1]>>
<</if>>
<</if>>
<<set _after to $neg[1] -_prev>> <<set _net to _after *5>>
<<loseNeed 4 _net>>
<</widget>>
<<widget "playerStim">> <<if _dontGainSex is undefined>> <<silently>> <<gainAtt 5 1>> <</silently>> <</if>>
<<set _arousal to Math.trunc(_args[0] *($playerStat.Sens /100))>>
<<set _arousal to Math.trunc(_arousal *(1 + ($neg[5] /$maxNeg[5])))>>
<<set $sexFatigue[_args[1]] += 1>> <<if _args[1] isnot "skin">> <<set _arousal += Math.trunc(_args[0] *($physical[_args[1]].sens /100))>> <</if>>
<<set _arousal to Math.trunc(_arousal /(1 +($sexFatigue[_args[1]] /25)))>>
<<if $sexFatigue[_args[1]] gte 30>>
<<switch _args[1]>>
<<case "mouth">> Your lips and tongue are starting to feel numb.
<<case "penis">> Your <<playerPenis>> is getting sore.
<<case "breasts">> Your <<playerBreasts>> feel tender.
<<case "pussy">> Your <<playerVagina>> feels raw.
<</switch>>
<<silently>> <<playerPain 10>> <<loseNeed 0 20>> <</silently>>
<<elseif $sexFatigue[_args[1]] gte 60>>
<<switch _args[1]>>
<<case "mouth">> Your mouth is aching from overuse.
<<case "penis">> Your <<playerPenis>> throbs painfully.
<<case "breasts">> Your <<playerBreasts>> feel very sore.
<<case "pussy">> Your <<playerVagina>> aches from overuse.
<</switch>>
<<silently>> <<playerPain 20>> <<loseNeed 0 40>> <</silently>>
<</if>>
<<set $neg[1] += _arousal>> <<set $need[4] -= Math.trunc((_args[0] +_arousal) *1.2)>> <<if $forced is 1>> <<set _why to _arousal *3>> <<playerForced _why>> <</if>>
<<for $neg[1] gte $maxNeg[1]>> <<set _playerOrgasm to 1>>
<span style="color:red"> Pleasure overcomes your body! Your systems stutter as you're taken by orgasmic waves. </span>
<<questFlag orgasm>> <<set $gameStat.playerOrgasms += 1>> <<gainNeed 3 $perk.orgasmComfort>>
<<if $dayFlag.orgasms is undefined>> <<set $dayFlag.orgasms to 1>>
<<else>> <<set $dayFlag.orgasms += 1>>
<</if>> <<set _adict to $dayFlag.orgasms -3>> <<if _adict gt 0>> <<addiction Orgasm _adict>> <</if>>
<<silently>>
<<loseNeed 0 120>> <<loseNeed 1 20>> <<loseNeed 2 20>>
<<set $power to Math.clamp($power -2, 0, $maxPower)>>
<</silently>>
<<set _ran to random(40, 80)>> <<gainNeg 3 _ran>> <<set _dazed to Math.trunc($neg[3] /5)>> <<applyStatus Dazed _dazed>> <<calcPercent $neg[3] $maxNeg[3]>> <<set $neg[1] -= $maxNeg[1]>> <<set $need[4] += 3000>>
<<if $neg[3] gte $maxNeg[3]>>
<<set _mindbroken to Math.trunc($neg[3] /5)>> <<applyStatus Mindbroken _mindbroken>> <<set $neg[3] to Math.trunc($neg[3] *0.7)>>
<span style="color:hotpink">Mindbroken!</span> <<addiction Orgasm 20>>
<</if>>
<</for>>
<</widget>>
<<widget "playerPain">>
<<set _damage to _args[0]>>
<<if _dmgAbsorption is undefined>> <<set _dmgAbsorption to $att[1] *10>> <</if>>
<<set _damage to Math.trunc(_damage /(_dmgAbsorption /100))>> <<gainNeg 0 _damage>>
<</widget>>
<<widget "partnerStim">>
<<set _erotic to Math.trunc(($att[5] +$attBonus[5]) *(Math.clamp($attMult[5], 4, 100) /20))>>
<<gainAtt 5 3>>
<<set _arousal to Math.trunc(_args[1] *(_erotic /10))>>
<<if _args[2] isnot "skin">> <<set _arousal += Math.trunc(_args[1] *($physical[_args[2]].skill /100))>> <</if>>
<<set $partner[_args[0]].lust += _arousal>>
<</widget>><<widget "calcProstitutionPrice">>
<<set $prostCost to random(_args[0], _args[1])>>
<<set $prostCost to Math.trunc($prostCost *(($playerStat.Beauty -45) /100))>>
<</widget>>
<<widget "prostTip">>
- <span style="color:hotpink">Prostitution</span>
<</widget>>
<<widget "prostPay">> <<if $prostCost is undefined>> <<set $prostCost to 80>> <span style="color:red"> UNDEFINED PAYMENT BUG! </span> <</if>>
<<set _lustBonus to Math.trunc($prostCost *($partner[0].lust /150))>>
<<set _lustBonus to Math.trunc(_lustBonus *(1 +($perk.prostBonus /100)))>>
<<set _prostPay to $prostCost +_lustBonus>>
<<if _lustBonus gt 0>> <span style="color:pink"><<np He>> pays _lustBonus credits extra.</span> <</if>>
<<gainCred _prostPay>> <<questFlag prostPay>> <<if $gameStat.whored lte 20>> <<set $playerStat.Fucktoy += 1>> <</if>> <<set $gameStat.whored += 1>> <<trauma 10 0>>
<<if $gameStat.whored is 8>>
<<if $perkMoves.includes("SeduceMove") is false>> <<set $message.push("<span style="color:gold"> You learn the Seduce combat move! </span>")>> <<learnPerkMove SeduceMove>> <</if>>
<</if>>
<<unset $prostCost>>
<<gainNegRep 1 5>>
<</widget>><<widget "trauma">> <<if _args[1] is 0>> <<set _traumaMax to 100000>> <<else>> <<set _traumaMax to _args[1]>> <</if>>
<<set _prev to $trauma>>
<<if $trauma lt _traumaMax>> <<set $trauma to Math.clamp($trauma +_args[0], 0, _traumaMax)>>
<<questFlag trauma>>
<<if $debug is 1>>
<<set $message.push("<span style='color:red'> Your Trauma increases... </span>" + _args[0])>> <</if>>
<<set _net to $trauma -_prev>>
<<if $dayFlag.dayTrauma is undefined>> <<set $dayFlag.dayTrauma to 0>> <</if>> <<set $dayFlag.dayTrauma += _net>>
<</if>>
<</widget>>
<<widget "fixTrauma">> <<set _traumaMin to _args[1]>>
<<if $trauma gt _traumaMin>> <<set _prev to $trauma>> <<set $trauma to Math.clamp($trauma -_args[0], _traumaMin, 100000)>>
<<set $fixedTrauma += _prev -$trauma>>
<<questFlag traumaFix>>
<<if $debug is 1>> <<set $message.push("<span style='color:limegreen'> Your Trauma decreases... </span>" + _args[0])>> <</if>>
<</if>>
<</widget>>
<<widget "addTraumaFix">>
<<set $dailyTraumaFix += _args[0]>>
<</widget>><<widget "playerReactionPartnerPenisSize">>
<<switch $partner[_pt].body["Penis"].size>>
<<case 0>> You are... intrigued by its diminute size. It doesn't reach one inch, you reckon.
<<case 1 2>> You are intrigued by its size. You believe it's barely <<= $partner[_pt].body["Penis"].size>> inches long.
<<case 3 4>> You believe it's about <<= $partner[_pt].body["Penis"].size>> inches long.
<<case 5 6>> You believe it's about <<= $partner[_pt].body["Penis"].size>> inches long.
<<case 7 8>> You believe it's about <<= $partner[_pt].body["Penis"].size>> inches long.
<<case 9 10>> You are shocked by its size: you believe it's about <<= $partner[_pt].body["Penis"].size>> inches long.
<<case 11 12 13>> It's sheer size leaves you speechless: it must be around <<= $partner[_pt].body["Penis"].size>> inches long.
<<case 14 15 16>> You can't believe how impossibly big it is: at least <<= $partner[_pt].body["Penis"].size>> inches long, with a thickness to match.
<<default>> You don't know how to react to its size.
<</switch>>
<</widget>><<set $sceneStage += 1>>
<<if $forced is 1>> <span style="color:red">You are not in control. </span>
<<elseif $forced is 0>> <span style="color:limegreen">You feel safe. </span>
<<else>> <span style="color:gold">You are in control.</span>
<</if>>
<<include setup[$scene].header>> <br> <br>
<<if $playerAction isnot undefined>>
<<if $playerActionType is 0>>
<<include setup.generalPlayerActions[$forced][$playerAction].action>> <br> <br> <</if>>
<<if $playerActionType is 1>>
<<include setup[$scene].playerAction[$playerAction].action>> <br> <br> <</if>>
<</if>>
<<for _pt to 0; _pt lt $partner.length; _pt++>>
<<if $partner[_pt].shots gt 0>>
<<if $forced is 1 and $prostCost is undefined>>
<<silently>> <<gainNegRep 2 2>> <<trauma 1 0>> <</silently>> <</if>>
<<if $partner[_pt].backupMessage is undefined or $partner[_pt].backupMessage is 0>>
<span style="color:hotpink">
<<if $partner[_pt].arousal lte $partner[_pt].maxArousal *0.2>>
<<= setup[$scene].partnerArousal[0]>>
<<elseif $partner[_pt].arousal lte $partner[_pt].maxArousal *0.4>>
<<= setup[$scene].partnerArousal[1]>>
<<elseif $partner[_pt].arousal lte $partner[_pt].maxArousal *0.6>>
<<= setup[$scene].partnerArousal[2]>>
<<elseif $partner[_pt].arousal lte $partner[_pt].maxArousal *0.8>>
<<= setup[$scene].partnerArousal[3]>>
<<elseif $partner[_pt].arousal lt $partner[_pt].maxArousal>>
<<= setup[$scene].partnerArousal[4]>>
<<else>>
<<= setup[$scene].partnerArousal[5]>>
<</if>> </span>
<<else>>
<span style="color:red">The <<np name _pt>> pushes <<np his _pt>> way in! </span> <<set $partner[_pt].backupMessage to 0>>
<</if>>
<<if $partner[_pt].arousal lt $partner[_pt].maxArousal>> <<set $partner[_pt].arousal += 1>>
<<if $partner[_pt].BottomAct is "yes">>
<<set _actionWeight to {}>>
<<for _act to 0; _act lt setup[$scene].partnerBottomAction.length; _act++>> <<set _weighted to 0>>
<<= setup[$scene].partnerBottomAction[_act].condition>> <<if _weighted gt 0>> <<set _actionWeight[_act] to _weighted>> <</if>>
<</for>> <<if $debug is 1>> <<for _key, _value range _actionWeight>> _key: _value | <</for>> <</if>>
<<set $partner[_pt].BottomAction to weightedEither(_actionWeight)>> <</if>>
<<if $partner[_pt].TopAct is "yes">>
<<set _actionWeight to {}>>
<<for _act to 0; _act lt setup[$scene].partnerTopAction.length; _act++>> <<set _weighted to 0>>
<<= setup[$scene].partnerTopAction[_act].condition>> <<if _weighted gt 0>> <<set _actionWeight[setup[$scene].partnerTopAction[_act].action] to _weighted>> <</if>>
<</for>>
<<for _pTrait to 0; _pTrait lt $partner[_pt].pTraits.length; _pTrait++>>
<<for _act to 0; _act lt setup.generalTopPartnerActions[[$partner[_pt].pTraits[_pTrait]]].length; _act++>> <<set _weighted to 0>>
<<= setup.generalTopPartnerActions[$partner[_pt].pTraits[_pTrait]][_act].condition>> <<if _weighted gt 0>> <<set _actionWeight[setup.generalTopPartnerActions[$partner[_pt].pTraits[_pTrait]][_act].action] to _weighted>> <</if>>
<</for>> <</for>> <<if $debug is 1>> <<for _key, _value range _actionWeight>> _key: _value | <</for>> <</if>>
<<set $partner[_pt].TopAction to weightedEither(_actionWeight)>> <</if>>
<<include $partner[_pt].TopAction>> <<include setup[$scene].partnerBottomAction[$partner[_pt].BottomAction].action>>
<<else>> <<set _actionWeight to {}>>
<<for _act to 0; _act lt setup[$scene].partnerOrgasm.length; _act++>> <<set _weighted to 0>>
<<= setup[$scene].partnerOrgasm[_act].condition>> <<if _weighted gt 0>> <<set _actionWeight[_act] to _weighted>> <</if>>
<</for>>
<<set $partner[_pt].OrgasmAct to weightedEither(_actionWeight)>>
<<include setup[$scene].partnerOrgasm[$partner[_pt].OrgasmAct].action>> <<set $partner[_pt].shots -= 1>> <<set $gameStat.partnerOrgasms += 1>> <<questFlag partnerOrgasm>>
<<if $partner[_pt].shots gt 0>>
<<set $partner[_pt].arousal to 0>>
<span style="color:red"> <<np He _pt>> doesn't stop. </span> <<partnerDialogue 0 General NotDone 100 laugh>>
<</if>>
<</if>>
<<if $partner[_pt].shots is 0>> <<set $partnerFinished += 1>>
<<for _key, _value range $taken>>
<<if _value is _pt>> <<set $taken[_key] to "none">> <<set $scenePen[_key] to 0>>
<</if>>
<</for>>
<<if $partnerBackup.length gt 0>>
<<set $partnerBackup[0].backupMessage to 1>>
<<set $partner.push(clone($partnerBackup[0]))>>
<<set $partnerBackup.deleteAt(0)>>
<</if>>
<</if>> <br> <br>
<</if>>
<</for>>
<<if $partnerBackup.length gt 0>> <span style="color:red"> $partnerBackup.length others wait for their turn! </span> <br> <br> <</if>>
<<if $scenePublic is 1>>
<span style="color:red">You are in public.</span> You're painfully aware of how many people are watching. <<playerExposed 120>> <<trauma 2 0>>
<<if $forced is 1 and $prostCost is undefined>>
<<silently>> <<gainNegRep 2 1>> <</silently>>
<<elseif $forced is 1 and $prostCost gt 0>>
<<silently>> <<gainNegRep 1 1>> <</silently>>
<</if>>
<br> <br> <</if>>
<<if ($partnerFinished -$partnerBackup.length) lt $partner.length>>
<<if _playerOrgasm is undefined and $sceneTrance is 0>> <<set _pt to 0>>
<<for _act to 0; _act lt setup.generalPlayerActions[$forced].length; _act++>> <<capture _act>> <<set _show to 0>>
<<= setup.generalPlayerActions[$forced][_act].condition>>
<<if _show is 1>>
<<link "<<= setup.generalPlayerActions[$forced][_act].name>>" "Scene">>
<<passtime 1>> <<set $playerAction to _act>> <<set $playerActionType to 0>>
<</link>>
<<if $forced is 1>>
<<for _tip to 0; _tip lt setup.generalPlayerActions[$forced][_act].tip.length; _tip++>>
- <<= setup.sexAttitudes[setup.generalPlayerActions[$forced][_act].tip[_tip]].name[$forced]>>
<</for>> <</if>> <br> <</if>> <</capture>> <</for>>
<<for _act to 0; _act lt setup[$scene].playerAction.length; _act++>> <<capture _act>> <<set _show to 0>>
<<= setup[$scene].playerAction[_act].condition>>
<<if _show is 1>>
<<link "<<= setup[$scene].playerAction[_act].name>>" "Scene">>
<<passtime 1>> <<set $playerAction to _act>> <<set $playerActionType to 1>>
<</link>>
<<if $forced is 1>>
<<for _tip to 0; _tip lt setup[$scene].playerAction[_act].tip.length; _tip++>>
- <<= setup.sexAttitudes[setup[$scene].playerAction[_act].tip[_tip]].name[$forced]>>
<</for>> <</if>> <br> <</if>> <</capture>> <</for>>
<<else>>
<<if $sceneTrance isnot 0>>
<span style="color:red">You are in a trance, unable to move on your own. </span>
<</if>>
<<link "Continue" "Scene">>
<<passtime 1>>
<</link>>
<</if>>
<<if $debug is 1>>
<br> <br> <<for _key, _value range $taken>> _key -> _value <br> <</for>>
<br>
<<for _key, _value range $scenePen>> _key -> _value <br> <</for>>
<</if>>
<<else>>
<<if $forced is 1 and $prostCost is undefined>> <<questFlag raped>>
<<trauma 50 0>>
<<set $gameStat.raped += 1>> <<if $gameStat.Raped lte 100>> <<set $playerStat.Fucktoy += 2>> <</if>> <</if>>
<<include $aftermath>> <<= setup[$scene].end>> <<unset $scenePublic>> <<unset $sceneAttitude>> <<unset $taken>>
<<if $trait[0] is "traitUntouched" and $partner[0].species is "Human">> <<changeTrait traitUntouched traitTouched>> <</if>>
<<if $partner[0].species is "Hybrid">> <<questFlag hybridSex>> <</if>>
<</if>>
<<unset $playerAction>><<widget "setScene">>
<<set $sceneFlag to {}>>
<<set $taken to {mouth: 'none', pussy: 'none', chest: 'none', penis: 'none', ass: 'none'}>>
<<set $scenePen to {mouth: 0, pussy: 0, chest: 0, penis: 0, ass: 0}>>
<<set $partnerFinished to 0>>
<<unset $playerAction>>
<<set $forced to _args[0]>>
<<set $sceneBackground to "none">> <<set $sceneTrance to 0>> <<set $sceneControl to 0>>
<<set _sceneSet to 0>> <<set _pt to 0>>
<<for _sceneSet is 0>>
<<if _scenePool is undefined>>
<<if _args.includes("playerPleasure")>>
<<set $scene to weightedEither(setup.sceneListPlayerPleasure)>>
<<elseif _args.includes("mainCourse")>>
<<set $scene to weightedEither(setup.sceneListMainCourse)>>
<<else>>
<<set $scene to weightedEither(setup.sceneList)>>
<</if>>
<<else>> <<set $scene to weightedEither(_scenePool)>>
<</if>>
<<= setup[$scene].test>>
<</for>>
<<= setup[$scene].start>> <<set $sceneStage to 0>>
<<set $sceneAttitude to {
Resistant: 0,
Vengeful: 0,
Compliant: 0,
Subservient: 0,
}>>
<</widget>>
<<widget "sceneControl">>
<<set $sceneControl to Math.clamp($sceneControl +_args[0], 0, 100)>>
<</widget>><<set _tg to either("chest", "ass", "thighs")>>
<<np He _pt>> slaps your _tg sadistically, making you flinch! <<playerPain 10>> <<partnerDialogue _pt General Slap 50 say>><<np He _pt>> pinches and twistes your nipple sadistically, making you whimper! <<playerPain 20>> <<partnerDialogue _pt General Slap 50 say>><<if $partner[_pt].item is undefined>> <<set $partner[_pt].item to "RidingCrop">>
<span style="color:red"> <<np He _pt>> produces a riding crop! </span>
<<else>>
<<set _tg to either("chest", "ass", "thighs")>>
<<np He _pt>> strikes your _tg with <<np his _pt>> riding crop! <<playerPain 15>> <<partnerDialogue _pt General Slap 50 say>>
<</if>><<if $partner[_pt].TopAct is "yes">>
<<set $partner[_pt].TopAct to "no">>
<<np He _pt>> produces a pink pill and <span style="color:red"> tries to force you to swallow it! </span>
<<set _incomingThreat to 1>>
<<else>>
<<set $partner[_pt].TopAct to "yes">>
<<if _playerResisted is 1 or $taken.mouth isnot "none">>
<span style="color:limegreen"> <<np He _pt>> fails to make you swallow the pink pill and to <<np his _pt>> frustration drops it to the ground instead. </span>
<<else>>
<span style="color:red"> <<np He _pt>> forces the pill inside your mouth and makes you swallow it! </span> <<applyStatus AphroStatus 240>> <<addiction Aphrodisiac 20>> <<trauma 30 0>>
<</if>>
<<set $partner[_pt].Aphro to 1>>
<</if>><<if $partner[_pt].TopAct is "yes">>
<<set $partner[_pt].TopAct to "no">>
<<np He _pt>> produces a multicolored piece of candy and <span style="color:red"> tries to force you to swallow it! </span>
<<set _incomingThreat to 1>>
<<else>>
<<set $partner[_pt].TopAct to "yes">>
<<if _playerResisted is 1 or $taken.mouth isnot "none">>
<span style="color:limegreen"> <<np He _pt>> fails to make you swallow the candy and to <<np his _pt>> frustration drops it to the ground instead. </span>
<<else>>
<span style="color:red"> <<np He _pt>> forces the candy inside your mouth and makes you swallow it! </span> <<gainNeed 3 2700>> <<applyStatus CandyDebuff 300>> <<addiction Candy 30>> <<trauma 50 0>>
<</if>>
<<set $partner[_pt].Candy to 1>>
<</if>><<if $partner[_pt].TopAct is "yes">>
<<set $partner[_pt].TopAct to "no">>
<<np He _pt>> produces a jet pen and <span style="color:red"> tries to inject it on you! </span>
<<set _incomingThreat to 1>>
<<else>>
<<set $partner[_pt].TopAct to "yes">>
<<if _playerResisted is 1>>
<span style="color:limegreen"> <<np He _pt>> fails to inject the jet pen on you and to <<np his _pt>> frustration drops it to the ground instead.</span>
<<else>>
<span style="color:red"> <<np He _pt>> injects you with the jetpen! </span> <<set _statusApplied to weightedEither(setup.randomMinorDebuff)>> <<applyStatus _statusApplied 1440>>
<<trauma 30 0>>
<</if>>
<</if>><<if $partner[_pt].TopAct is "yes">>
<<set $partner[_pt].TopAct to "no">>
<<np He _pt>> produces a pink pill <span style="color:orange"> and is about to swallow it. </span>
<<set _incomingThreat to 1>>
<<else>>
<<set $partner[_pt].TopAct to "yes">>
<<if _playerResisted is 1>>
<span style="color:limegreen"> <<np He _pt>> fumbles and drops the pill to the ground. </span>
<<else>>
<span style="color:red"> <<np He _pt>> swallows the pink pill! </span> <<set $partner[_pt].shots += 1>>
<</if>>
<<set $partner[_pt].selfPill to 1>>
<</if>><<if $partner[_pt].TopAct is "yes">>
<<set $partner[_pt].TopAct to "no">>
<<np He _pt>> produces a tight collar <span style="color:orange"> and is about to clasp it around your neck. </span>
<<set _incomingThreat to 1>>
<<else>>
<<set $partner[_pt].TopAct to "yes">>
<<checkWear bondage neck tags>>
<<if _playerResisted is 1 or _wearing is 1>>
<span style="color:limegreen"> <<np He _pt>> fumbles and drops the collar to the ground. </span>
<<else>>
<span style="color:red"> <<np He _pt>> locks the collar around your neck! </span>
<<set _collar to weightedEither({
FreeUseCollar: 10,
WhoreCollar: 10,
})>>
<<playerStrip "neck" returnClothes>> <<wear "neck" _collar locked>>
<</if>>
<<set $partner[_pt].collar to 1>>
<</if>><<if $partner[_pt].TopAct is "yes">>
<<set $partner[_pt].TopAct to "no">>
<<np He _pt>> produces a pair of magnetic cuffs <span style="color:orange"> and is about to force them around your wrists! </span>
<<set _incomingThreat to 1>>
<<else>>
<<set $partner[_pt].TopAct to "yes">>
<<checkWear bondage "left wrist" "right wrist" tags>>
<<if _playerResisted is 1 or _wearing is 1>>
<span style="color:limegreen"> <<np He _pt>> fumbles and drops the cuffs to the ground. </span>
<<else>>
<span style="color:red"> <<np He _pt>> locks the magnetic cuffs around your wrists! </span>
<<playerStrip "left wrist" "right wrist" returnClothes>> <<wear "left wrist" MagCuff locked>> <<wear "right wrist" MagCuff locked>>
<</if>>
<<set $partner[_pt].hCuffs to 1>>
<</if>><<if $partner[_pt].TopAct is "yes">>
<<set $partner[_pt].TopAct to "no">>
<<np He _pt>> produces a pair of magnetic cuffs <span style="color:orange"> and is about to force them around your ankles! </span>
<<set _incomingThreat to 1>>
<<else>>
<<set $partner[_pt].TopAct to "yes">>
<<checkWear bondage "left ankle" "right ankle" tags>>
<<if _playerResisted is 1 or _wearing is 1>>
<span style="color:limegreen"> <<np He _pt>> fumbles and drops the cuffs to the ground. </span>
<<else>>
<span style="color:red"> <<np He _pt>> locks the magnetic cuffs around your ankles! </span>
<<playerStrip "left ankle" "right ankle" returnClothes>> <<wear "left ankle" MagCuff locked>> <<wear "right ankle" MagCuff locked>>
<</if>>
<<set $partner[_pt].aCuffs to 1>>
<</if>><<np He _pt>> pats your head. <<headpat 300>><<chanceCheck $need[3] $maxNeed[3]>>
<<if $success is 1>> <span style="color:limegreen"> You succesfully resist! </span> <<set _playerResisted to 1>>
<<else>> <span style="color:red"> You try to resist, but are overpowered. </span>
<</if>><<if $forced is 1>>
You stay still and hope this will end sooner. <<playerPersonality Vengeful -1>>
<<else>>
You stay still submissively.
<</if>>You glare at <<np him>> defiantly. <<partnerDialogue 0 General GlareReaction 100 none>> <<playerPersonality Vengeful 1>>You beg <<np him>> to stop. <<np He>> doesn't seem to care. <<partnerDialogue 0 General BegReaction 100 none>> <<playerPersonality Vengeful -1>><<if $sceneBackground is 'none' and $forced is 1>>
They grab you and force you to the ground!
<</if>><<if $sceneBackground is 'none' and $forced is 1>>
Multiple hands grab you, keeping you still.
<<else>> <</if>><<if $partner[_pt].body["Penis"] isnot "none">>
<<np He _pt>> starts stroking <<np his _pt>> <<npPenisSize>> <<npPart Penis>>.
<<else>>
<<np He _pt>> starts fingering herself.
<</if>>
<<set $sceneIntensity += 1>><<if $partner[_pt].body["Penis"] isnot "none">>
<<np He _pt>> rapidly strokes <<np his _pt>> <<npPenisSize>> <<npPart Penis>>.
<<else>>
<<np He _pt>> rapidly fingers <<np him _pt>>self.
<</if>><<np He _pt>> grabs you, keeping you down.<<np His _pt>> hand trails your skin, groping you all over.<<if $partner[_pt].hand isnot undefined>> <<set $taken[$partner[_pt].hand] to "none">> <</if>> <<set $partner[_pt].hand to "chest">>
<<if $taken.chest isnot _pt>> <<np He _pt>> moves <<np his _pt>> hand, trailing your skin. <<set $taken.chest to _pt>> <</if>>
<<if $partner[_pt].arousal lt 4>>
<<print either("<<np He _pt>> gropes your <<playerBreasts>>.", "<<np He _pt>> fondles your <<playerBreasts>>, playing with your nipples.")>> <<partnerDialogue _pt Groping Chest 100 say>>
<<playerStim 20 breasts>>
<<else>>
<<print either("Roughly <<np He _pt>> squeezes and plays with your <<playerBreasts>>.", "<<np He _pt>> gropes your <<playerBreasts>>, pinching and pulling your nipples.")>> <<partnerDialogue _pt Groping Chest 100 say>>
<<playerStim 30 breasts>>
<</if>><<if $partner[_pt].hand isnot undefined>> <<set $taken[$partner[_pt].hand] to "none">> <</if>> <<set $partner[_pt].hand to "ass">>
<<if $taken.ass isnot _pt>> <<np He _pt>> moves <<np his _pt>> hand, trailing your skin. <<set $taken.ass to _pt>> <</if>>
<<np He _pt>> gropes your ass roughly. <<playerStim 40 skin>><<if $partner[_pt].hand isnot undefined>> <<set $taken[$partner[_pt].hand] to "none">> <</if>> <<set $partner[_pt].hand to "penis">>
<<if $taken.penis isnot _pt>> <<np He _pt>> moves <<np his _pt>> hand, trailing your skin. <<set $taken.penis to _pt>> <</if>>
<<if $partner[_pt].arousal lt 3>>
<<print either("<<np He _pt>> strokes your <<playerPenis>>.", "<<np He _pt>> fondles your <<playerPenis>>.")>> <<partnerDialogue _pt Groping Penis 100 say>>
<<playerStim 20 penis>>
<<else>>
<<print either("Roughly <<np He _pt>> pumps your <<playerPenis>> up and down.",)>> <<partnerDialogue _pt Groping Penis 100 say>>
<<playerStim 30 penis>>
<</if>><<if $partner[_pt].hand isnot undefined>> <<set $taken[$partner[_pt].hand] to "none">> <</if>> <<set $partner[_pt].hand to "pussy">>
<<if $taken.pussy isnot _pt>> <<np He _pt>> moves <<np his _pt>> hand, trailing your skin. <<set $taken.pussy to _pt>> <</if>>
<<if $partner[_pt].arousal lt 3>>
<<print either("<<np He _pt>> rubs your <<playerVagina>>.", "<<np He _pt>> fondles your <<playerVagina>>.")>> <<partnerDialogue _pt Groping Pussy 100 say>>
<<playerStim 20 vagina>>
<<else>>
<<print either("<<np He _pt>> furiously rubs your clit.",)>> <<partnerDialogue _pt Groping Pussy 100 say>>
<<playerStim 30 vagina>>
<</if>><<if $partner[_pt].body["Penis"] isnot "none">>
Moaning <<np he _pt>> rapidly jerks off, sending ropes of cum flying all over you.
<<set _landing to weightedEither({body: 10})>>
<<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<if _landing is "face">>
<<applyFluid Cum face _output>>
<<elseif _landing is "body">>
<<applyFluid Cum body _output>>
<</if>>
<<else>> <<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<np his _pt>> entire body shakes and <<np he _pt>> moans as <<np his _pt>> <<npPart Vagina>> twitches and gushes all over you. <<applyFluid Slime body _output>>
<</if>>
<<if $forced is 1>> <<playerForced 500>> <</if>><<if $sceneBackground is 'none'>>
<<set _pt to 0>>
<<if $forced is 1>>
<<if $partner[_pt].body["Penis"] isnot "none">>
<<np The _pt>> <<np name _pt>> grips your hair and pushes you down to your knees. With <<np his _pt>> other hand <<np he _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPenisSize>> <<npPart Penis>>, looming fully erect above your face. <<playerReactionPartnerPenisSize>>
<<else>>
<<np The _pt>> <<np name _pt>> grips your hair and pushes you down to your knees. With <<np his _pt>> other hand <<np he _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPart Vagina>>.
<</if>>
<<else>>
<<if $partner[_pt].body["Penis"] isnot "none">>
You sink to your knees in front of <<np the _pt>> <<np name _pt>> as <<np he _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPenisSize>> <<npPart Penis>>, looming fully erect above your face. <<playerReactionPartnerPenisSize>>
<<else>>
You sink to your knees in front of <<np the _pt>> <<np name _pt>> as <<np he _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPart Vagina>>.
<</if>>
<</if>>
<</if>><<if $sceneBackground is 'none'>>
<<if $forced is 1>>
<<np The _pt>> <<np name _pt>> grips your hair tight, keeping you on your knees in front of <<np him _pt>>.
<<else>>
You are in your knees in front of <<np the _pt>> <<np name _pt>>.
<</if>>
<<else>> <</if>><<if $forced is 1>>
<<np He _pt>> roughly pets your hair.
<<else>>
<<np He _pt>> gently pets your hair.
<</if>><<if $forced is 1>>
<<np He _pt>> pulls your hair, forcing you to look up at <<np him _pt>>.
<<else>>
<<np He _pt>> tilts your head up, making you look up at <<np him _pt>>.
<</if>><<np He _pt>> grabs your <<= setup[$body.external["horns"][0]].noun>> and uses them to guide your head.<<set _allowLick to 1>> <<if $taken.mouth is "none">> <<set $taken.mouth to _pt>> <<set $partner[_pt].active to 1>> <</if>>
<<if $partner[_pt].body["Penis"] isnot "none">>
<<partnerDialogue _pt GettingBlowjob Intro 100 say>> <<np He _pt>> rubs <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your face. You feel the heat irradiating from it <<if $partner[_pt].body["Penis"].size gte 12>> and its incredible size weighting down on your face, dominating your senses. <<elseif $partner[_pt].body["Penis"].size gte 8>> and its throbbing length from your chin to your forehead. <<else>> as the tip drags on your cheeks and lips. <</if>>
<<else>>
<<partnerDialogue _pt GettingOral Intro 100 say>> <<np He _pt>> rubs <<np his _pt>> <<npPart Vagina>> against your mouth and nose.
<</if>> <<playerStim 5 mouth>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<set _allowLick to 1>> <<if $taken.mouth is "none">> <<set $taken.mouth to _pt>> <<set $partner[_pt].active to 1>> <</if>>
<<if $sceneIntensity is 0>>
<<partnerDialogue _pt GettingBlowjob Intro 100 say>> <<np He _pt>> slaps your face with <<np his _pt>> <<npPenisSize>> <<npPart Penis>>. <<if $partner[_pt].body["Penis"].size gte 12>> You recoil from the impact as it's incredible weight comes down your face. <<gainNeg 0 30>> <<elseif $partner[_pt].body["Penis"].size gte 8>> It's big enough to leave a mark. <<gainNeg 0 15>> <<else>> <</if>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>>
<<else>>
<<np He _pt>> continuosly slaps <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your face. <<if $partner[_pt].body["Penis"].size gte 12>> It's heavy weight and <<np his _pt>> hand in your hair keep you in place. <<elseif $partner[_pt].body["Penis"].size gte 8>> It's big enough to cover most of your face. <<else>> <</if>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>>
<</if>><<set _playerCantSpeak to 1>>
<<if $scenePen.mouth is 0>>
<<partnerDialogue _pt GettingBlowjob AboutToEnter 100 say>> <<np He _pt>> grips <<np his _pt>> <<npPenisSize>> <<npPart Penis>> and pushes the tip against your lips. <<if $partner[_pt].body["Penis"].size gte 12>> You stare in shock at it's sheer size aimed directly at your mouth- it seems impossibly it will fit. <<elseif $partner[_pt].body["Penis"].size gte 8>> You gulp staring at it's intimidating size aimed directly at your mouth. <<else>> <</if>>
<<fucktoyCheck>> <<set $scenePen.mouth to 1>> <<set $partner[_pt].BottomAct to "no">>
<<else>> <<set $partner[_pt].BottomAct to "no">>
<<if _mouthClosed is 1>> <<np He _pt>> pushes the tip of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your lips, trying to pry them open. <<chance 50>> <span style="color:red"> <<np He _pt>> succeedes. </span> An entire inch of <<np his _pt>> length enters your mouth, filling it with the taste of its head. <<partnerDialogue _pt GettingBlowjob Entering 100 moan>> <<set $scenePen.mouth to 2>> <<set $partner[_pt].BottomAct to "yes">> <<if $forced is 1>> <<playerForced 300>> <</if>> <</chance>>
<<else>>
<<np He _pt>> pushes the tip of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> pass your lips. An entire inch of <<np his _pt>> length enters your mouth, filling it with the taste of its head. <<partnerDialogue _pt GettingBlowjob Entering 100 moan>> <<if $forced is 1>> <<playerForced 300>> <</if>> <<set $scenePen.mouth to 2>> <<set $partner[_pt].BottomAct to "yes">>
<</if>>
<</if>><<set _playerCantSpeak to 1>>
<<print either("<<np He _pt>> thrusts the head of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> in and out of your mouth.", "<<np He _pt>> pushes <<np his _pt>> <<npPenisSize>> <<npPart Penis>> into your mouth in short, shallow thrusts.")>>
<<partnerDialogue _pt GettingBlowjob FuckingMouth 100 moan>> <<playerStim 8 mouth>>
<<if $forced is 1>>
<<playerForced 200>> <</if>><<set _playerCantSpeak to 1>>
<<if $forced is 1>>
<<print either(
"<<np He _pt>> thrusts <<np his _pt>> <<npPenisSize>> <<npPart Penis>> in and out of your mouth.",
"<<np He _pt>> repeteadly pushes <<np his _pt>> <<npPenisSize>> <<npPart Penis>> into your mouth.",
"<<np He _pt>> fucks your mouth with <<np his _pt>> <<npPenisSize>> <<npPart Penis>>.",
"<<np He _pt>> thrusts <<np his _pt>> <<npPenisSize>> <<npPart Penis>> into your mouth with no regard for your own comfort.")>>
You gag every time it hits your throat.
<<else>>
<<print either(
"<<np He _pt>> slowly thrusts <<np his _pt>> <<npPenisSize>> <<npPart Penis>> into your mouth.",
)>>
<</if>>
<<playerStim 10 mouth>>
<<partnerDialogue _pt GettingBlowjob FuckingMouth 100 moan>>
<<if $forced is 1>>
<<playerForced 220>> <</if>><<set _playerCantSpeak to 1>>
<<if $forced is 1>>
<<print either(
"<<np He _pt>> fucks your throat with <<np his _pt>> <<npPenisSize>> <<npPart Penis>>, making you gag.",
"<<np He _pt>> repeteadly pushes your head making you swallow <<np his _pt>> <<npPenisSize>> <<npPart Penis>>.",
"<<np He _pt>> violates your throat with <<np his _pt>> <<npPenisSize>> <<npPart Penis>>."
)>>
Your throat spasms uselessly against <<np his _pt>> length.
<<else>>
<<print either(
"<<np He _pt>> slowly thrusts <<np his _pt>> <<npPenisSize>> <<npPart Penis>> deep inside your throat.",
)>>
<</if>>
<<playerStim 12 mouth>>
<<partnerDialogue _pt GettingBlowjob Deepthroat 100 moan>>
<<if $forced is 1>>
<<playerForced 300>> <</if>><<set _playerCantSpeak to 1>>
<<np He _pt>> tries to push <<np his _pt>> <<npPenisSize>> <<npPart Penis>> deeper pass your lips. <<if $att[5] gte Math.trunc(($scenePen.mouth -1) /2)>> Slowly, more and more of <<np his _pt>> length goes inside, <<set $scenePen.mouth += 10>> <<set _totalInches to Math.clamp($scenePen.mouth -1, 1, $partner[_pt].body["Penis"].size)>> <<if _totalInches gte 5>> <<set _totalInches to 5>> <span style="color:red"> until it hits your throat, making you gag. </span> <<else>> pushing against your tongue. <</if>> <<if $partner[_pt].body["Penis"].size lt _totalInches>> You feel about _totalInches inches of hard <<npPart Penis>> inside your mouth, with more to come. <<else>> Your face is pressing against <<np his _pt>> crotch as <<np his _pt>> entire <<= $partner[_pt].body["Penis"].size>>-inches <<npPart Penis>> pulsates inside your mouth.<</if>> <<set $scenePen.mouth to _totalInches +1>>
<<else>> You gag around <<np his _pt>> <<npPart Penis>>, unable to take any more than the <<= $scenePen.mouth -1>> inches already inside. <</if>>
<<if $forced is 1>>
<<playerForced 300>> <</if>><<set _playerCantSpeak to 1>>
<<np He _pt>> pushes <<np his _pt>> <<npPenisSize>> <<npPart Penis>> even deeper inside. <<if $att[5] gte Math.trunc(($scenePen.mouth -1) /2)>> <<if $scenePen.mouth is 6>> You gag and choke as the head of <<np his _pt>> <<npPart Penis>> enters your throat. <<else>> You gag and choke as more and more <<npPart Penis>> penetrates deeper into your spasming throat. <</if>> <<set $scenePen.mouth += 3>> <<set _totalInches to Math.clamp($scenePen.mouth -1, 1, $partner[_pt].body["Penis"].size)>> <<if $partner[_pt].body["Penis"].size lt _totalInches>> You feel about _totalInches inches of hard <<npPart Penis>> inside your mouth and throat, with more to come. <<else>> Your face is pressing against <<np his _pt>> crotch as <<np his _pt>> entire <<= $partner[_pt].body["Penis"].size>>-inches <<npPart Penis>> pulsates inside your mouth and throat.<</if>> <<set $scenePen.mouth to _totalInches +1>>
<<else>> You gag around <<np his _pt>> <<npPart Penis>>, unable to take any more than the <<= $scenePen.mouth -1>> inches already inside. <</if>>
<<if $forced is 1>>
<<playerForced 500>> <</if>><<set _playerCantSpeak to 1>>
<<set _allowLick to 1>>
<<if $sceneControl is 0>>
<<print either("<<np He _pt>> grinds <<np his _pt>> <<npPart Vagina>> against your lips.", "<<np He _pt>> pushes your face against <<np his _pt>> crotch, grinding <<np his _pt>> clit on your mouth.")>>
<<else>>
<<print either("<<np He _pt>> timidly rubs <<np his _pt>> <<npPart Vagina>> against your lips.", "<<np He _pt>> thrusts <<np his _pt>> hips, shaking.")>>
<</if>>
<<playerStim 8 mouth>>
<<partnerDialogue _pt GettingOral MouthGrinding 100 moan>>
<<if $forced is 1>>
<<playerForced 200>> <</if>><<set _playerCantSpeak to 1>>
<<set _allowLick to 1>>
<<print either("<<np He _pt>> timidly rubs <<np his _pt>> <<npPart Penis>> against your lips.", "<<np He _pt>> thrusts <<np his _pt>> hips, shaking, searching for more of your touch.")>>
<<playerStim 8 mouth>><<if $partner[_pt].body["Penis"] isnot "none">>
<<if $scenePen.mouth gt 1>>
Moaning, <<np he _pt>> pulls <<np his _pt>> <<npPenisSize>> <<npPart Penis>> out of your mouth
<<else>>
Moaning, <<np he _pt>> aims <<np his _pt>> <<npPenisSize>> <<npPart Penis>> at your face
<</if>>
and rapidly jerks off, shooting rope after rope of cum.
<<set _landing to weightedEither({face: 10, hair: 5, faceAndHair: 5})>>
<<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<if _landing is "face">>
<<applyFluid Cum face _output>>
<<elseif _landing is "hair">>
<<applyFluid Cum hair _output>>
<<else>>
<<set _realOutput to _output /2>> <<applyFluid Cum face _realOutput>> <<applyFluid Cum hair _realOutput>>
<</if>>
<<else>> <<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<np His _pt>> entire body shakes and <<np he _pt>> moans as <<np his _pt>> <<npPart Vagina>> twitches and gushes against your face. <<applyFluid Slime face _output>>
<</if>>
<<if $forced is 1>> <<playerForced 400>> <</if>><<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<np He _pt>> moans as <<np he _pt>> finally reaches orgasm. Thrusting rapidly into your mouth, <<np his _pt>> <<npPart Penis>> starts twitching and filling you with hot sticky cum.
<<if $forced is 1>> <<playerForced 400>> <</if>><<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<np He _pt>> moans as <<np he _pt>> finally reaches orgasm. <<np his _pt>> <<npPart Penis>> twitches deep inside you, sending ropes of hot sticky cum directly down your throat. Gagging, you're forced to swallow it all.
<<if $forced is 1>> <<playerForced 400>> <</if>><<if $forced is 1>>
You reluctantly lick <<np his _pt>> <<npPart Penis>> as it drags on your face, hoping to end this sooner.
<<playerForced 100>> <<playerPersonality Lewd 1>>
<<elseif $sceneControl lte 0>>
You lick <<np his _pt>> <<npPart Penis>> as it drags on your face.
<<else>>
You tease <<np his _pt>> <<npPart Penis>>, slowly licking it up and down as <<np he _pt>> grows more desperate.
<</if>>
<<partnerStim 0 10 mouth>><<if $forced is 1>> You reluctantly suck <<np his _pt>> <<npPart Penis>> as <<np he _pt>> relentlessly fucks your mouth. <<playerForced 100>> <<playerPersonality Lewd 1>>
<<else>>
You suck <<np his _pt>> <<npPart Penis>> as <<np he _pt>> thrusts into your mouth.
<</if>>
<<partnerStim 0 10 mouth>><<if $forced is 1>>
You reluctantly lick <<np his _pt>> <<npPart Vagina>> as <<np he _pt>> rubs on your face, hoping to end this sooner.
<<playerForced 100>> <<playerPersonality Lewd 1>>
<<elseif $sceneControl lte 0>>
You lick <<np his _pt>> <<npPart Vagina>> as <<np he _pt>> rubs on your face.
<<else>>
You lick <<np his _pt>> <<npPart Vagina>> teasingly, watching <<np him _pt>> grow more desperate.
<</if>>
<<partnerStim 0 10 mouth>><<if $forced is 1>>
You reluctantly suck <<np his _pt>> clit as <<np he _pt>> rubs on your face, hoping to end this sooner.
<<playerForced 100>> <<playerPersonality Lewd 1>>
<<elseif $sceneControl lte 0>>
You lick <<np his _pt>> clit as <<np he _pt>> rubs on your face.
<<else>>
You suck and flick <<np his _pt>> clit with your tongue.
<</if>>
<<partnerStim 0 10 mouth>><<set _playerCantSpeak to 1>>
Slowly you take <<np his _pt>> <<npPenisSize>> <<npPart Penis>> pass your lips and into your mouth. You feel the tip flatten your tongue as you take it inch by inch. <<np He>> moans.
<<set $scenePen.mouth to 4>><<if $forced is 1>>
You focus on keeping your mouth closed and hoping this will end sooner.
<</if>>
<<partnerDialogue 0 General MouthClosedReaction 100 say>>
<<set _mouthClosed to 1>>You take control, grabbing <<np his>> legs and pushing them apart, supporting some of <<np his>> weight. <<sceneControl 20>>You let go of <<np him>>, giving back control. <<sceneControl -20>><<if $sceneBackground is 'none' and $forced is 1>>
<<np The _pt>> <<np name _pt>> grabs you from behind and <<np his _pt>> hands start trailing your body.
<<if $partner[_pt].body["Penis"] isnot "none">>
<<np He _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPenisSize>> <<npPart Penis>>. <<playerReactionPartnerPenisSize>>
<<else>>
<<np He _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPart Vagina>>.
<</if>>
<</if>><<if $sceneBackground is 'none' and $forced is 1>>
<<np The _pt>> <<np name _pt>> is grabbing you from behind while <<np he _pt>> gropes you.
<<else>> <</if>><<if $partner[_pt].body["Penis"] isnot "none">>
<<np He _pt>> starts stroking <<np his _pt>> <<npPenisSize>> <<npPart Penis>>.
<<else>>
<<np He _pt>> starts fingering herself.
<</if>>
<<set $sceneIntensity += 1>><<if $partner[_pt].body["Penis"] isnot "none">>
<<np He _pt>> rapidly strokes <<np his _pt>> <<npPenisSize>> <<npPart Penis>>.
<<else>>
<<np He _pt>> rapidly fingers herself.
<</if>><<if $sceneHandPosition isnot "chest">> <<np He _pt>> moves <<np his _pt>> hand, trailing your skin. <<set $sceneHandPosition to "chest">> <</if>>
<<if $sceneIntensity lt 3>>
<<print either("<<np He _pt>> gropes your <<playerBreasts>>.", "<<np He _pt>> fondles your <<playerBreasts>>, playing with your nipples.")>> <<partnerDialogue _pt Groping Chest 100 say>>
<<playerStim 20 breasts>>
<<else>>
<<print either("Roughly <<np he _pt>> squeezes and plays with your <<playerBreasts>>.", "<<np He _pt>> gropes your <<playerBreasts>>, pinching and pulling your nipples.")>> <<partnerDialogue _pt Groping Chest 100 say>>
<<playerStim 30 breasts>>
<</if>>
<<set $sceneIntensity += 1>><<if $sceneHandPosition isnot "ass">> <<np He _pt>> moves <<np his _pt>> hand, trailing your skin. <<set $sceneHandPosition to "ass">> <</if>>
<<np He _pt>> gropes your ass roughly. <<playerStim 40 skin>><<if $sceneHandPosition isnot "penis">> <<np He _pt>> moves <<np his _pt>> hand, trailing your skin. <<set $sceneHandPosition to "penis">> <</if>>
<<if $sceneIntensity lt 3>>
<<print either("<<np He _pt>> strokes your <<playerPenis>>.", "<<np He _pt>> fondles your <<playerPenis>>.")>> <<partnerDialogue _pt Groping Penis 100 say>>
<<playerStim 20 penis>>
<<else>>
<<print either("Roughly <<np he _pt>> pumps your <<playerPenis>> up and down.",)>> <<partnerDialogue _pt Groping Penis 100 say>>
<<playerStim 30 penis>>
<</if>><<if $sceneHandPosition isnot "vagina">> <<np He _pt>> moves <<np his _pt>> hand, trailing your skin. <<set $sceneHandPosition to "vagina">> <</if>>
<<if $sceneIntensity lt 3>>
<<print either("<<np He _pt>> rubs your <<playerVagina>>.", "<<np He _pt>> fondles your <<playerVagina>>.")>> <<partnerDialogue _pt Groping Pussy 100 say>>
<<playerStim 20 vagina>>
<<else>>
<<print either("<<np He _pt>> furiously rubs your clit.",)>> <<partnerDialogue _pt Groping Pussy 100 say>>
<<playerStim 30 vagina>>
<</if>><<if $partner[_pt].body["Penis"] isnot "none">>
Moaning <<np he _pt>> rapidly jerks off, sending ropes of cum flying all over you.
<<set _landing to weightedEither({body: 10})>>
<<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<if _landing is "face">>
<<applyFluid Cum face _output>>
<<elseif _landing is "body">>
<<applyFluid Cum body _output>>
<</if>>
<<else>> <<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<np His _pt>> entire body shakes and <<np he _pt>> moans as <<np his _pt>> <<npPart Vagina>> twitches and gushes all over you. <<applyFluid Slime body _output>>
<</if>>
<<if $forced is 1>> <<playerForced 500>> <</if>><<if $sceneBackground is 'none' and $forced is 1>>
<<if $partner[_pt].body["Penis"] isnot "none">>
<<np The _pt>> <<np name _pt>> pushes you to the ground. As you fall to your knees <<np he _pt>> places a foot on your shoulder and pushes down, forcing you to lie down. While stepping on your chest with one foot, <<np he _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPenisSize>> <<npPart Penis>>. <<playerReactionPartnerPenisSize>>
<<else>>
<<np The _pt>> <<np name _pt>> pushes you to the ground. As you fall to your knees <<np he _pt>> places a foot on your shoulder and pushes down, forcing you to lie down. While stepping on your chest with one foot, <<np he _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPart Vagina>>.
<</if>>
<</if>><<if $sceneBackground is 'none' and $forced is 1>>
<<np The _pt>> <<np name _pt>> steps on you, keeping you on the ground.
<<else>> <</if>><<if $partner[_pt].body["Penis"] isnot "none">>
<<partnerDialogue _pt SteppingOn Intro 100 say>> <<np He _pt>> starts stroking <<np his _pt>> <<npPenisSize>> <<npPart Penis>>.
<<else>>
<<partnerDialogue _pt SteppingOn Intro 100 say>> <<np He _pt>> starts fingering <<np his _pt>> <<npPart Vagina>>.
<</if>>
<<fucktoyCheck>>
<<set $sceneIntensity += 1>><<if $partner[_pt].body["Penis"] isnot "none">>
<<partnerDialogue _pt SteppingOn Masturbate 100 say>> <<np He _pt>> rapidly strokes <<np his _pt>> <<npPenisSize>> <<npPart Penis>>.
<<else>>
<<partnerDialogue _pt SteppingOn Masturbate 100 say>> <<np He _pt>> rapidly fingers <<np his _pt>> <<npPart Vagina>>.
<</if>>
<<fucktoyCheck>><<if $sceneFootPosition isnot "chest">> <<np He _pt>> moves <<np his _pt>> foot. <<set $sceneFootPosition to "chest">> <</if>>
<<np He _pt>> pushes <<np his _pt>> foot against your chest, keeping you in place.<<if $sceneFootPosition isnot "face">> <<np He _pt>> moves <<np his _pt>> foot. <<set $sceneFootPosition to "face">> <</if>>
<<np He _pt>> roughly pushes <<np his _pt>> foot against your face, forcing you to turn your head. <<gainNeg 0 20>><<if $sceneFootPosition isnot "penis">> <<np He _pt>> moves <<np his _pt>> foot. <<set $sceneFootPosition to "penis">> <</if>>
<<np He _pt>> pushes <<np his _pt>> foot against your <<playerPenis>>, rubbing it with <<np his _pt>> heel. <<playerStim 30 penis>><<if $sceneFootPosition isnot "vagina">> <<np He _pt>> moves <<np his _pt>> foot. <<set $sceneFootPosition to "vagina">> <</if>>
<<np He _pt>> pushes <<np his _pt>> foot against your <<playerVagina>>, rubbing it with <<np his _pt>> heel. <<playerStim 30 vagina>><<if $partner[_pt].body["Penis"] isnot "none">>
Moaning <<np he _pt>> rapidly jerks off, sending ropes of cum flying all over you.
<<set _landing to weightedEither({body: 10})>>
<<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<if _landing is "face">>
<<applyFluid Cum face _output>>
<<elseif _landing is "body">>
<<applyFluid Cum body _output>>
<</if>>
<<else>> <<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<np his _pt>> entire body shakes and <<np he _pt>> moans as <<np his _pt>> <<npPart Vagina>> twitches and gushes all over you. <<applyFluid Slime body _output>>
<</if>>
<<if $forced is 1>> <<playerForced 400>> <</if>><<if $sceneBackground is 'none' and $forced is 1>>
From behind <<np The _pt>> <<np name _pt>> forces you to your hands and knees and pushes your head against the ground. You look back and stare as <<np he _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPenisSize>> <<npPart Penis>>. <<playerReactionPartnerPenisSize>>
<</if>><<if $sceneBackground is 'none' and $forced is 1>>
<<np The _pt>> <<np name _pt>> keeps you in all fours in front of <<np his _pt>>.
<<else>> <</if>><<set $partner[_pt].penis to "pussy">> <<set $partner[_pt].active to 1>>
<<partnerDialogue _pt Doggy Intro 100 say>> <<np He _pt>> rubs the tip of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your <<playerVagina>>.
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size and thickness forces you to move with it and leaves you breathless.
<<elseif $partner[_pt].body["Penis"].size gte 8>>
<</if>>
<<playerStim 5 vagina>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<set $partner[_pt].penis to "ass">> <<set $partner[_pt].active to 1>>
<<partnerDialogue _pt Doggy Intro 100 say>> <<np He _pt>> rubs the tip of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your butt.
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size and thickness forces you to move with it and leaves you breathless.
<<elseif $partner[_pt].body["Penis"].size gte 8>>
<</if>>
<<playerStim 10 skin>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<np He _pt>> pushes the tip of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your <<playerVagina>>, about to enter.
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size feels outright threatening.
<<elseif $partner[_pt].body["Penis"].size gte 8>>
<</if>>
<<playerStim 5 vagina>>
<<fucktoyCheck>> <<set $scenePen.pussy += 1>> <<set $partner[_pt].speed to 0>><<np He _pt>> pushes the tip of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your butt, about to enter.
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size feels outright threatening.
<<elseif $partner[_pt].body["Penis"].size gte 8>>
<</if>>
<<playerStim 10 skin>>
<<fucktoyCheck>> <<set $scenePen.ass += 1>> <<set $partner[_pt].speed to 0>><<if $scenePen.pussy is 1>>
<span style="color:red"> <<np He _pt>> thrusts forward, pushing <<np his _pt>> <<npPenisSize>> <<npPart Penis>> inside your <<playerVagina>>!</span> You whimper in response as your internal systems rumble. <<partnerDialogue _pt Doggy EnteringPussy 100 moan>> <<playerStim 25 vagina>>
<<set $scenePen.pussy to 2>>
<<elseif $scenePen.pussy is 2 and $partner[_pt].speed lt 5>> <<set _line to random(1, 2)>>
<<if _line is 1>>
You can't stop yourself from moaning as <<np he _pt>> thrusts into your <<playerVagina>> in a slow but constant pace. <<partnerDialogue _pt Doggy FuckingPussy 100 moan>> <<playerStim 25 vagina>>
<<elseif _line is 2>>
You whimper as <<np his _pt>> <<npPenisSize>> <<npPart Penis>> slides in and out of your <<playerVagina>>. You can feel every inch of it rubbing against your insides. <<partnerDialogue _pt Doggy FuckingPussy 100 moan>> <<playerStim 25 vagina>>
<</if>>
<<set $partner[_pt].speed += 1>>
<<else>> <<set _line to random(1, 2)>> <<if $partner[_pt].speed is 5>> <span style="color:red"> <<np He _pt>> starts moving faster! </span> <</if>>
<<if _line is 1>>
You whimper and moan as <<np he _pt>> ruts into your <<playerVagina>> with quick and deep thrusts. <<partnerDialogue _pt Doggy FuckingPussy 100 moan>> <<playerStim 35 vagina>>
<<elseif _line is 2>>
You whimper as <<np he _pt>> pistons <<np his _pt>> <<npPenisSize>> <<npPart Penis>> in and out of your <<playerVagina>>. <<partnerDialogue _pt Doggy FuckingPussy 100 moan>> <<playerStim 35 vagina>>
<</if>>
<<set $partner[_pt].speed += 1>>
<</if>>
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size stretches your <<playerVagina>> and reaches deep inside you, bringing you both pleasure and pain. <<playerStim 20 vagina>> <<playerPain 20>>
<<elseif $partner[_pt].body["Penis"].size gte 8>>
It's impressive size hurts a little. <<playerStim 10 vagina>> <<playerPain 10>>
<</if>>
<<fucktoyCheck>><<if $scenePen.ass is 1>>
<span style="color:red"> <<np He _pt>> thrusts forward, pushing <<np his _pt>> <<npPenisSize>> <<npPart Penis>> inside your butt!</span> You whimper in response as your internal systems rumble. <<partnerDialogue _pt Doggy EnteringButt 100 moan>> <<playerStim 50 skin>>
<<set $scenePen.ass to 2>>
<<elseif $scenePen.ass is 2 and $partner[_pt].speed lt 5>> <<set _line to random(1, 2)>>
<<if _line is 1>>
You can't stop yourself from moaning as <<np he _pt>> thrusts into your butt in a slow but constant pace. <<partnerDialogue _pt Doggy FuckingButt 100 moan>> <<playerStim 50 skin>>
<<elseif _line is 2>>
You whimper as <<np his _pt>> <<npPenisSize>> <<npPart Penis>> slides in and out of your butt. You can feel every inch of it rubbing against your insides. <<partnerDialogue _pt Doggy FuckingButt moan>> <<playerStim 50 skin>>
<</if>>
<<set $partner[_pt].speed += 1>>
<<else>> <<set _line to random(1, 2)>> <<if $partner[_pt].speed is 5>> <span style="color:red"> <<np He _pt>> starts moving faster! </span> <</if>>
<<if _line is 1>>
You whimper and moan as <<np he _pt>> ruts into your butt with quick and deep thrusts. <<partnerDialogue _pt Doggy FuckingButt 100 moan>> <<playerStim 70 skin>>
<<elseif _line is 2>>
You whimper as <<np he _pt>> pistons <<np his _pt>> <<npPenisSize>> <<npPart Penis>> in and out of your butt. <<partnerDialogue _pt Doggy FuckingButt 100 moan>> <<playerStim 70 skin>>
<</if>>
<<set $partner[_pt].speed += 1>>
<</if>>
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size stretches your insides and reaches deep inside you, bringing you both pleasure and pain. <<playerStim 20 skin>> <<playerPain 20>>
<<elseif $partner[_pt].body["Penis"].size gte 8>>
It's impressive size hurts a little. <<playerStim 10 skin>> <<playerPain 10>>
<</if>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<if $sceneIntensity gt 1>>
Moaning, <<np he _pt>> pulls <<np his _pt>> <<npPenisSize>> <<npPart Penis>> out of your <<if $scenePosition is "pussy">> <<playerVagina>> <<else>> butt <</if>>
<<else>>
Moaning, <<np he _pt>> aims <<np his _pt>> <<npPenisSize>> <<npPart Penis>> at you
<</if>>
and rapidly jerks off, shooting rope after rope of cum.
<<set _landing to weightedEither({normal: 10,})>>
<<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<if _landing is "normal">>
<<set _realOutput to _output /2>> <<applyFluid Cum ass _realOutput>> <<applyFluid Cum back _realOutput>>
<</if>>
<<if $forced is 1>> <<playerForced 400>> <</if>><<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<np He _pt>> moans as <<np he _pt>> finally reaches orgasm. <<np his _pt>> <<npPart Penis>> twitches as it fills your <<if $scenePosition is "pussy">> <<playerVagina>> <<else>> butt <</if>> with hot, sticky cum.
<<if $forced is 1>> <<playerForced 600>> <</if>><<if $sceneBackground is 'none' and $forced is 1>>
<<np The _pt>> <<np name _pt>> pushes you down until you're lying on your back. Forcing your legs apart, <<np he _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPenisSize>> <<npPart Penis>>. <<playerReactionPartnerPenisSize>>
<</if>><<if $sceneBackground is 'none' and $forced is 1>>
<<np The _pt>> <<np name _pt>> keeps you in a missionary position in front of <<np his _pt>>.
<<else>> <</if>><<if $forced is 1>>
<<np He _pt>> firmly holds your legs apart, keeping you exposed and vulnerable.
<</if>><<set $scenePosition to "pussy">>
<<partnerDialogue _pt Doggy Intro 100 say>> <<np He _pt>> rubs the tip of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your <<playerVagina>>.
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size and thickness forces you to move with it and leaves you breathless.
<<elseif $partner[_pt].body["Penis"].size gte 8>>
<</if>>
<<playerStim 5 vagina>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<set $scenePosition to "butt">>
<<partnerDialogue _pt Doggy Intro 100 say>> <<np He _pt>> rubs the tip of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your butt.
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size and thickness forces you to move with it and leaves you breathless.
<<elseif $partner[_pt].body["Penis"].size gte 8>>
<</if>>
<<playerStim 10 skin>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<np He _pt>> pushes the tip of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your <<playerVagina>>, about to enter.
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size feels outright threatening.
<<elseif $partner[_pt].body["Penis"].size gte 8>>
<</if>>
<<playerStim 5 vagina>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<np He _pt>> pushes the tip of <<np his _pt>> <<npPenisSize>> <<npPart Penis>> against your butt, about to enter.
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size feels outright threatening.
<<elseif $partner[_pt].body["Penis"].size gte 8>>
<</if>>
<<playerStim 10 skin>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<if $scenePen.pussy is 0>>
<span style="color:red"> <<np He _pt>> thrusts forward, pushing <<np his _pt>> <<npPenisSize>> <<npPart Penis>> inside your <<playerVagina>>!</span> You whimper in response as your internal systems rumble. <<partnerDialogue _pt Doggy EnteringPussy 100 moan>> <<playerStim 25 vagina>>
<<set $scenePen.pussy to 1>>
<<elseif $scenePen.pussy is 1 and $sceneIntensity lt 5>> <<set _line to random(1, 2)>>
<<if _line is 1>>
You can't stop yourself from moaning as <<np he _pt>> thrusts into your <<playerVagina>> in a slow but constant pace. <<partnerDialogue _pt Doggy FuckingPussy 100 moan>> <<playerStim 25 vagina>>
<<elseif _line is 2>>
You whimper as <<np his _pt>> <<npPenisSize>> <<npPart Penis>> slides in and out of your <<playerVagina>>. You can feel every inch of it rubbing against your insides. <<partnerDialogue _pt Doggy FuckingPussy 100 moan>> <<playerStim 25 vagina>>
<</if>>
<<set $sceneIntensity += 1>>
<<else>> <<set _line to random(1, 2)>> <<if $sceneIntensity is 5>> <span style="color:red"> <<np He _pt>> starts moving faster! </span> <</if>>
<<if _line is 1>>
You whimper and moan as <<np he _pt>> ruts into your <<playerVagina>> with quick and deep thrusts. <<partnerDialogue _pt Doggy FuckingPussy 100 moan>> <<playerStim 35 vagina>>
<<elseif _line is 2>>
You whimper as <<np he _pt>> pistons <<np his _pt>> <<npPenisSize>> <<npPart Penis>> in and out of your <<playerVagina>>. <<partnerDialogue _pt Doggy FuckingPussy 100 moan>> <<playerStim 35 vagina>>
<</if>>
<<set $sceneIntensity += 1>>
<</if>>
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size stretches your <<playerVagina>> and reaches deep inside you, bringing you both pleasure and pain. <<playerStim 20 vagina>> <<playerPain 20>>
<<elseif $partner[_pt].body["Penis"].size gte 8>>
It's impressive size hurts a little. <<playerStim 10 vagina>> <<playerPain 10>>
<</if>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<if $scenePen.ass is 0>>
<span style="color:red"> <<np He _pt>> thrusts forward, pushing <<np his _pt>> <<npPenisSize>> <<npPart Penis>> inside your butt!</span> You whimper in response as your internal systems rumble. <<partnerDialogue _pt Doggy EnteringButt 100 moan>> <<playerStim 50 skin>>
<<set $scenePen.ass to 1>>
<<elseif $scenePen.ass is 1 and $sceneIntensity lt 5>> <<set _line to random(1, 2)>>
<<if _line is 1>>
You can't stop yourself from moaning as <<np he _pt>> thrusts into your butt in a slow but constant pace. <<partnerDialogue _pt Doggy FuckingButt 100 moan>> <<playerStim 50 skin>>
<<elseif _line is 2>>
You whimper as <<np his _pt>> <<npPenisSize>> <<npPart Penis>> slides in and out of your butt. You can feel every inch of it rubbing against your insides. <<partnerDialogue _pt Doggy FuckingButt moan>> <<playerStim 50 skin>>
<</if>>
<<set $sceneIntensity += 1>>
<<else>> <<set _line to random(1, 2)>> <<if $sceneIntensity is 5>> <span style="color:red"> <<np He _pt>> starts moving faster! </span> <</if>>
<<if _line is 1>>
You whimper and moan as <<np he _pt>> ruts into your butt with quick and deep thrusts. <<partnerDialogue _pt Doggy FuckingButt 100 moan>> <<playerStim 70 skin>>
<<elseif _line is 2>>
You whimper as <<np he _pt>> pistons <<np his _pt>> <<npPenisSize>> <<npPart Penis>> in and out of your butt. <<partnerDialogue _pt Doggy FuckingButt 100 moan>> <<playerStim 70 skin>>
<</if>>
<<set $sceneIntensity += 1>>
<</if>>
<<if $partner[_pt].body["Penis"].size gte 12>>
It's incredible size stretches your insides and reaches deep inside you, bringing you both pleasure and pain. <<playerStim 20 skin>> <<playerPain 20>>
<<elseif $partner[_pt].body["Penis"].size gte 8>>
It's impressive size hurts a little. <<playerStim 10 skin>> <<playerPain 10>>
<</if>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<np He _pt>> moans as <<np he _pt>> finally reaches orgasm. <<np his _pt>> <<npPart Penis>> twitches as it fills your <<if $scenePosition is "pussy">> <<playerVagina>> <<else>> butt <</if>> with hot, sticky cum.
<<if $forced is 1>> <<playerForced 600>> <</if>><<if $sceneBackground is 'none' and $forced is 1>>
<<np The _pt>> <<np name _pt>> pushes you down until you're lying on your back and straddles you as <<np he _pt>> lowers <<np his _pt>> <<npCloth legwear>> and <<npCloth underwear>>, revealing <<np his _pt>> <<npPart Vagina>>.
<</if>><<if $sceneBackground is 'none' and $forced is 1>>
<<np The _pt>> <<np name _pt>> keeps you lying on the ground as <<np he _pt>> straddles you.
<<else>> <</if>><<if $forced is 1>>
<<np He _pt>> firmly holds arms, keeping you pinned to the ground.
<</if>><<set $scenePosition to "pussy">>
<<partnerDialogue _pt Riding Intro 100 say>> <<np He _pt>> rubs <<np his _pt>> <<npPart Vagina>> against your <<playerPenis>>.
<<playerStim 5 penis>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<np He _pt>> props <<np him _pt>>self up, making the tip of your <<playerPenis>> press against <<np his _pt>> <<npPart Vagina>>, about to enter.
<<playerStim 5 penis>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<if $scenePen.penis is 0>>
<span style="color:red"> <<np He _pt>> drops on your <<playerPenis>>, forcing it inside <<np his _pt>> <<npPart Vagina>>! </span> The intense pleasure makes your brain skip a tick. <<partnerDialogue _pt Riding EnteringPussy 100 moan>> <<playerStim 25 penis>>
<<set $scenePen.penis to 1>>
<<elseif $scenePen.penis is 1 and $sceneIntensity lt 5>> <<set _line to random(1, 2)>>
<<if _line is 1>>
You can't stop yourself from moaning as <<np he _pt>> rides your <<playerPenis>> relentlessly. <<partnerDialogue _pt Riding FuckingPussy 100 moan>> <<playerStim 25 penis>>
<<elseif _line is 2>>
You whimper as your <<playerPenis>> slides in and out of <<np his _pt>> <<npPart Vagina>>. You can feel every inch of <<np his _pt>> tight insides. <<partnerDialogue _pt Riding FuckingPussy 100 moan>> <<playerStim 25 penis>>
<</if>>
<<set $sceneIntensity += 1>>
<<else>> <<set _line to random(1, 1)>> <<if $sceneIntensity is 5>> <span style="color:red"> <<np He _pt>> starts moving faster! </span> <</if>>
<<if _line is 1>>
You whimper and moan as <<np he _pt>> rides your <<playerPenis>> roughly. <<partnerDialogue _pt Riding FuckingPussy 100 moan>> <<playerStim 35 penis>>
<</if>>
<<set $sceneIntensity += 1>>
<</if>>
<<fucktoyCheck>> <<set $sceneIntensity += 1>><<set _output to Math.trunc($partner[_pt].output *(1 +($partner[_pt].lust /100)))>>
<<np He _pt>> moans as <<np he _pt>> finally reaches orgasm. <<np His _pt>> <<npPart Vagina>> clenches around your <<playerPenis>> as <<np he _pt>> cums.
<<if $forced is 1>> <<playerForced 600>> <</if>><<widget "gameUpdate">>
<<for $gameVersion isnot 4>>
<<if $gameVersion is 3>>
<<set $week to Math.trunc($days /7)>>
<<set $group.Synth.lust to 0>>
<<set $group.Scavenger to {rep: 0, maxRep: 100, permRep: 0,}>>
<<if $dailyTraumaFix gte 0>> <<else>> <<set $dailyTraumaFix to 10>> <</if>>
<<if $trauma gte 0>> <<else>> <<set $trauma to 300>> <</if>>
<<set $skill.Seduction to 0>>
<<set $skillBonus.Seduction to 0>>
<<set $skillProg.Seduction to 0>>
<<set $skillGoal.Seduction to 500>>
<<set $perk.lewdMental to 0>>
<<set $perk.pureMental to 0>>
<<set $message.push("Game updated to v0.0.4")>>
<<set $gameVersion to 4>>
<</if>>
<</for>>
<</widget>><<if $days gte $versionEnd>>
<span style="color:gold"> Thank you for playing New Life City. </span> Unfortunately this version ends here. Please save your game now so you can keep playing from this point on when a future version comes out. <br> <br>
Until then, suggestions and feedback are more than welcome. Please leave a comment at my [[blog|"https://meimeei.blogspot.com"]].
<<else>>
<span style="color:gold">Game updated! </span> <br> <br>
<<link "Continue">> <<goto $location>> <<unset $end>> <<unset $start>> <</link>>
<</if>>This is version 0.0.4 of New Life City. This is a very early version, so expect to find bugs and unfinished content. <br> <br>
<<link "Start Game" "Intro">>
<</link>>
<br> <br>
If you like the game please consider supporting it. <br> <br>
+ [[Development Blog|"https://meimeei.blogspot.com"]] <br>
+ [[Fanbox|"https://meimeei.fanbox.cc"]] <br>
+ [[Discord|"https://discord.gg/ThnkuVPNnp"]] <br>
<br>
+ [[Credits]]<-- <<link "Go back" "Game Start">> <</link>> <br> <br>
Inspired by [[Degrees of Lewdity|"https://vrelnir.blogspot.com"]] which might be my favorite game ever. <br> <br>In a far future, advancements in artificial intelligence have reached previously unimaginable levels. One of it's most succesful applications is in autonomous machines, or robots, as they are commonly called.
<br> <br>
Robots are built for widely different purposes. From housework to space exploration, from menial work to combat. But few saw as much development as those designed to satisfy the eternal need of humanity for companionship.
<br> <br>
A few years ago, Icarus Enterprises made a world-changing announcement. <br> <br>
[[Continue|Intro 2]]The Icarus Synthetic Human is the most advanced line of robots ever built, catapulting Icarus a hundred years ahead of the competition. <br> <br>
The Synthetic Human is closer to being alive than it is to being a robot. The company advertised it as such, without knowing this would become their downfall. <br> <br>
Having the same needs and ambitions of humans, the same mind and heart, and the same capacity for suffering... Synthetics were soon enough seen as more than just robots. Selling them began feeling like slave trade, dismantling them like murder, and a controversial political campaign soon called for their liberation. <br> <br>
Unfortunately for Icarus Enterprises, they succedeed. <br> <br>
[[Continue|Intro 3]]As the company fell to ruin, millions of Synthetics around the world enjoyed their newfound freedom. For a short time, that is. <br> <br>
The truth was that no Synthetic was ready to enter the human world. Attempts at integrating them to society were lackluster at best. As the side that campaigned for their liberation practically forgot about them and some Synthetics turned to crime to survive, the other side's animosity only grew. <br> <br>
A week ago, the newest government issued an ultimatum: Synthetics need to prove they can be useful members of society. If they fail, it'll be considered as proof they are not so human after all. And if that were to happen, it's not hard to imagine what would become of them. <br> <br>
<span style="color:red">As a Synthetic yourself... this doesn't bode well for you. </span> <br> <br>
[[Continue|Intro 3A]]You were built with: <br> <br>
<<set _design to 1>>
<label> <<radiobutton "_design" 0 autocheck>> <span style="color:aqua"> A masculine design. </span> </label> <br>
<label> <<radiobutton "_design" 1 autocheck>> <span style="color:aqua"> A feminine design. </span> </label> <br>
<label> <<radiobutton "_design" 2 autocheck>> <span style="color:aqua"> An intersexual design. </span> </label> <br>
<label> <<radiobutton "_design" 3 autocheck>> <span style="color:aqua"> A neuter design. </span> </label> <br>
<br>
You were designed for the following purpose: <br> <br>
<<set _purpose to 0>> <span data-nokeys="true">
<label> <<radiobutton "_purpose" 0 autocheck>> <span style='color:aqua'> Companion </span> </label> -- <<link "[?]">> <<dialog>> You were designed to serve multiple purposes. <br> <br> No bonuses or penalties. <</dialog>> <</link>> <br>
<label> <<radiobutton "_purpose" 1 autocheck>> <span style='color:aqua'> Battle Bot </span> </label> -- <<link "[?]">> <<dialog>> You were designed for combat. <br> <br> Starts with increased Strength and Endurance, but lower Charisma and Sexuality. <</dialog>> <</link>> <br>
<label> <<radiobutton "_purpose" 2 autocheck>> <span style='color:aqua'> Sex Slave </span> </label> -- <<link "[?]">> <<dialog>> You were designed to be worse at almost everything but sex. Will you prove you can do more than that, or will you fall to your own design? <br> <br> All stats but Sexuality are lower, lose less Mental from sex. <</dialog>> <</link>> <br>
</span>
<br>
Other system specifications: <br> <br>
<<set _sleep to 1>>
<<set _hunger to 1>>
<span data-nokeys="true">
<label> <<checkbox "_hunger" 0 1 autocheck>> <span style='color:aqua'> Real Hunger </span> </label> -- <<link "[?]">> <<dialog>> Determines wether you were built to need food to keep running or not. <br> <br> If unchecked your Hunger will never decay below 50%, essentially disabling all it's negative effects (but you'll still be able to eat). This makes the game easier. <</dialog>> <</link>> <br>
</span>
<br>
<<link "Continue" "Intro 4">>
<<if _design is 0>> <<set $player.pronouns to ["he", "him", "his"]>> <<set $player.noun to "man">> <<set $body.external.penis to ["OgPenis", 100]>> <<bodyOn OgPenis>> <<set $player.gender to "Male">>
<<elseif _design is 1>> <<set $player.pronouns to ["she", "her", "her"]>> <<set $player.noun to "woman">> <<set $body.external.vagina to ["OgVagina", 100]>> <<set $body.external.breasts to ["OgBreasts", 100]>> <<bodyOn OgBreasts>> <<bodyOn OgVagina>> <<set $player.gender to "Female">>
<<elseif _design is 2>> <<set $player.pronouns to ["they", "them", "their"]>> <<set $player.noun to "human">> <<set $body.external.penis to ["OgPenis", 100]>> <<set $player.gender to "Andro">> <<set $body.external.vagina to ["OgVagina", 100]>> <<set $body.external.breasts to ["OgBreasts", 100]>> <<bodyOn OgBreasts>> <<bodyOn OgVagina>> <<bodyOn OgPenis>>
<<elseif _design is 3>> <<set $player.pronouns to ["they", "them", "their"]>> <<set $player.noun to "human">> <<set $player.gender to "Andro">>
<</if>>
<<if _purpose is 0>>
<<elseif _purpose is 1>> <<set $att[0] += 2>> <<set $att[1] += 2>> <<set $att[2] -= 2>> <<set $att[5] -= 2>>
<<elseif _purpose is 2>> <<set $att[0] -= 2>> <<set $att[1] -= 2>> <<set $att[3] -= 2>> <<set $att[5] += 2>> <<set $playerStat.Fucktoy += 100>> <<set $playerStat.Shower += 100>>
<</if>>
<<if _sleep is 0>> <<set $minNeed[1] to 50>> <</if>>
<<if _hunger is 0>> <<set $minNeed[2] to 50>> <</if>>
<</link>>You are one of the last synthetics produced. You are meant to be a perfect replication of a human, including all their flaws and needs. You were liberated and given an F-tier citizenship ID just as the new government released their ultimatum. Soon the only thing you have, your freedom, will be taken away. <br> <br>
With nowhere to go and completely alone, you spend your first days of freedom in the streets. Luckily for you, some synthetics have been receiving messages from a mysterious benefactor, inviting them to a residential center in the neo-city of Avone. Transport and other neccesities are included. Today you got your invitation, and seeing no better option, you accept. <br> <br>
[[Continue|Intro 7]]An armored bus takes you and dozens of others synthetics through the lower districts of Avone. Looking out the window you see humans whispering among each other, looking at you. As you approach your destination, some throw bottles that shatter against the reinforced glass of the bus. <br> <br>
Its clear you are not welcome here, but as the residential center comes into view you forget about most of your reservations. The building is huge, and brand new too. Armed turrets guard the entrance as you walk along your group. A tall wheeled bot gives all of you a quick tour through the main hall and the common rooms and then calls you one by one, giving you directions to your individual apartments. <br> <br>
When it's finally your turn and you get to your very own place, you find it barren aside from the bare neccesities. But for the first time, you feel a bit like a real person. <br> <br>
You are determined to start your own life here. <br> <br>
<<link "Start" "Home">> <<unset $start>>
<<set $message.push("Make sure you set your preferences on your bedroom.")>>
<<addMail "New Life Management: Welcome!" "MailWelcome">>
<<addQuest CitizenshipQuestF 0>>
<</link>><span data-nokeys="true">
<span style="color:gold"> _attPoints </span> Points Remaining <br> <br>
<<for _i = 0; _i lt setup.att.length; _i++>> <<capture _i>>
<span style="color:aqua"> <<= setup.att[_i]>>: </span> <span style="color:gold"> <<= $att[_i] +_attGiven[_i]>></span>
-- <<if _attGiven[_i] gt -3>> <<link "Reduce">> <<set _attGiven[_i] -= 1>> <<set _attPoints += 1>>
<<replace "#attSlider">><<include "Intro Att Slider">><</replace>>
<</link>> <<else>> Reduce <</if>>
/
<<if _attGiven[_i] lt 3 and _attPoints gt 0>> <<link "Increase">> <<set _attGiven[_i] += 1>> <<set _attPoints -= 1>>
<<replace "#attSlider">><<include "Intro Att Slider">><</replace>>
<</link>> <<else>> Increase <</if>>
<br>
<</capture>>
<</for>>You were a custom design, built to your owner's exact specifications. <br> <br>
Based on your appearance, people will refer to you as a... <<textbox "$player.noun" $player.noun>> (for example woman, man, girl, boy, etc.) <br> <br>
Your pronouns are... <<textbox "$player.pronouns[0]" $player.pronouns[0]>> / <<textbox "$player.pronouns[1]" $player.pronouns[1]>> / <<textbox "$player.pronouns[2]" $player.pronouns[2]>> (only those who respect you will use these...)
<br> <br>
<<link "Continue" "Intro 4">> <</link>><<if _passout is undefined>>
<<if tags().includes("place") or tags().includes("menu")>>
<<link "Status">>
<<if tags().includes("place")>> <<set $location to passage()>> <</if>> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<goto "Status">> <</link>>
<<link "Inventory">>
<<if tags().includes("place")>> <<set $location to passage()>> <</if>> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<goto "Backpack">> <</link>>
<<link "Check list">>
<<if tags().includes("place")>> <<set $location to passage()>> <</if>> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<goto "Quest List">> <</link>>
<<link "Socials">>
<<if tags().includes("place")>> <<set $location to passage()>> <</if>> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<goto "Reputation">> <</link>>
<<if $happyThought gte 0>> <<link "Online" "Happy Thoughts">> <<if tags().includes("place")>> <<set $location to passage()>> <</if>> <</link>> <</if>>
<</if>>
<</if>><<if $start is undefined and $end is undefined>>
Day $days <br>
<<= setup.weekday[$weekDay]>> | <<= $dayCycle.toUpperFirst()>> <br> 🕔 <<time>>
<br> <br>
$credit Credits
<br> <br>
<span style="color:gold"> System Status</span> - <<calcSystemStatus>> <<percent $systemStatus 1200 green>> <br>
<span style="color:gold"> Core Power </span> - <span style="color:limegreen"> [$power/$maxPower] </span>
<br> <br>
<<for _n to 0; _n lt setup.needs.length; _n++>>
<span style="color:aqua"> <<= setup.needs[_n]>> </span> - <<percent $need[_n] $maxNeed[_n] green>> <br>
<</for>>
<<for _n to 0; _n lt setup.neg.length; _n++>>
<<if $neg[_n] gt 0>> <<if _mark is undefined>> <br> <<set _mark to 1>> <</if>> <span style="color:red"> <<= setup.neg[_n]>> </span> - <<percent $neg[_n] $maxNeg[_n] red>> <br> <</if>>
<</for>>
<span style="color:red">
<<if $playerStat.UpperCover lte 10>> <br> Your upper body is exposed! <</if>> <<if $playerStat.LowerCover lte 10>> <br> Your lower body is exposed! <</if>>
<<if $playerStat.UpperCover lte 10 or $playerStat.LowerCover lte 10>> <br> <</if>>
</span>
<<if $totalFluid gt 0>> <br>
<span style="color:hotpink">You can feel lewd fluid on your body.</span>
<</if>>
<</if>>
<<if $end isnot undefined>>
<span style="color:red">System diagnosis is offline.</span>
<</if>><<widget "pick" container>> <<link "_args[0]">> <<set _go to _args[1]>> <<if _args[2] gt 0>> <<passtime _args[2]>> <</if>> <<set _loc to 0>>
_contents
<<if _loc is 0>> <<goto _go>> <</if>> <</link>> <<if _args[2] gt 0>> <<showTime _args[2]>> <</if>>
<</widget>>
<<widget "move" container>> <<link "_args[0]">> <<set $location to _args[1]>> <<passtime _args[2]>> <<set _loc to 0>>
_contents
<<if _loc is 0>> <<goto $location>> <</if>> <</link>> <<showTime _args[2]>>
<</widget>>
<<widget "talk" container>> <<link "_args[0]">> <<set _go to _args[1]>> <<set _loc to 0>>
_contents
<<if _loc is 0>> <<goto _go>> <</if>> <</link>>
<</widget>><<widget "gainCred">>
<<set $credit += _args[0]>> <<set $credit += $perk.creditGainBonus>>
<span style="color:gold"> +_args[0] <<if $perk.creditGainBonus gt 0>>($perk.creditGainBonus)<</if>> Credits! </span>
<<if $perk.creditComfort gt 0>> <<gainNeed 3 $perk.creditComfort>> <</if>>
<</widget>>
<<widget "loseCred">>
<<set $credit -= _args[0]>>
<span style="color:red"> -_args[0] Credits! </span>
<</widget>><<widget "gainNeed">> <<if _args[1] gt 0>> |
<<set _n to _args[0]>> <<set _var to _args[1]>>
<span style="color:gold">+<<= setup.needs[_n]>>!</span>
<<percent $need[_n] $maxNeed[_n] green>> -->
<<set $need[_n] to Math.clamp($need[_n] +_var, 0, $maxNeed[_n])>>
<<percent $need[_n] $maxNeed[_n] green>> <</if>>
<</widget>>
<<widget "loseNeed">> <<if _args[1] gt 0>> |
<<set _n to _args[0]>> <<set _var to _args[1]>>
<<if _n is 3>> <<set _var to Math.trunc(_var *(1 +($perk.mentalLoss /100)))>> <</if>>
<span style="color:red">-<<= setup.needs[_n]>>!</span>
<<percent $need[_n] $maxNeed[_n] green>> -->
<<set $need[_n] to Math.clamp($need[_n] -_var, -$maxNeed[_n], $maxNeed[_n])>>
<<percent $need[_n] $maxNeed[_n] green>> <</if>>
<</widget>>
<<widget "gainNeg">> <<if _args[1] gt 0>> |
<<set _n to _args[0]>> <<set _var to _args[1]>>
<span style="color:red">+<<= setup.neg[_n]>>!</span>
<<percent $neg[_n] $maxNeg[_n] red>> -->
<<set $neg[_n] to Math.clamp($neg[_n] +_var, 0, $maxNeg[_n])>>
<<percent $neg[_n] $maxNeg[_n] red>> <</if>>
<</widget>>
<<widget "loseNeg">> <<if _args[1] gt 0>> |
<<set _n to _args[0]>> <<set _var to _args[1]>>
<span style="color:gold">-<<= setup.neg[_n]>>!</span>
<<percent $neg[_n] $maxNeg[_n] red>> -->
<<set $neg[_n] to Math.clamp($neg[_n] -_var, 0, $maxNeg[_n])>>
<<percent $neg[_n] $maxNeg[_n] red>> <</if>>
<</widget>><<widget "mult" container>>
<<set _mult to _args[0]>>
<<for _mult gt 0>>
_contents
<<set _mult -= 1>>
<</for>>
<</widget>>
<<widget "random">> <<set _ran to random(_args[0], _args[1])>> <</widget>>
<<widget "aoe" container>>
<<for _tg to 0; _tg lt _args[0]; _tg++>> _contents <</for>>
<</widget>>
<<widget "chance" container>>
<<set _chance to random(0, 100)>>
<<if _chance lte _args[0]>>
_contents
<</if>>
<</widget>>
<<widget "chanceCheck">>
<<set _atrA to (_args[0] + _args[1])>>
<<set _result to random(0, _atrA)>>
<<if _result lte _args[0]>> <<set $success to 1>> <<else>> <<set $success to 0>> <</if>>
<</widget>>
<<widget "showChance">>
<<set _atrA to (_args[0] + _args[1])>>
<span style="color:gold">
<<= Math.trunc((_args[0] /_args[1]) *100)>>%
</span>
<</widget>>
<<widget "calcPercent">>
<<set _a to Math.round(_args[0] /(_args[1] /100))>>
<<set _percent to Math.clamp(_a, 0, 100)>>
<</widget>>
<<widget "percent">><<set _a to Math.round(_args[0] /(_args[1] /100))>><<set _a to Math.clamp(_a, 0, 100)>><<if _args[2] is "green">><<if _a gte 75>><span style="color:limegreen">_a%</span>\
<<elseif _a gte 50>>\
<span style="color:yellow">_a%</span>\
<<elseif _a gte 25>>\
<span style="color:orange">_a%</span>\
<<else>>\
<span style="color:red">_a%</span>\
<</if>>\
<<elseif _args[2] is "red">>\
<<if _a gte 75>>\
<span style="color:red">_a%</span>\
<<elseif _a gte 50>>\
<span style="color:orange">_a%</span>\
<<elseif _a gte 25>>\
<span style="color:yellow">_a%</span>\
<<else>>\
<span style="color:limegreen">_a%</span>\
<</if>>\
<<else>>_a%\
<</if>><</widget>><<if $start is undefined>>
<<gameUpdate>>
<<if tags().includes("place")>> <<set $location to passage()>> <</if>>
<<if $message.length gt 0>>
🔊 | <<= $message.join(' <br> 🔊 | ')>>
<<set $message to []>>
<br> <br>
<</if>>
<<if $mindbroken is 1>>
<span style="color:hotpink">You can't think straight. Your systems have slowed down due to the intense pleasure you've experienced.</span> <br> <br>
<</if>>
<<for _n to 0; _n lt setup.needs.length; _n++>>
<<if $need[_n] lte $maxNeed[_n] *0.1>>
<span style="color:red"> WARNING: <<= setup.needs[_n]>> levels critically low. </span>
<<if $need[_n] lte 0>>
<<if _n is 1 or _n is 2>> -- <span style="color:red">-Health!</span>
<<elseif _n is 4>> -- <span style="color:red">-Mental!</span>
<</if>>
<</if>>
<br> <br>
<</if>>
<</for>>
<<calcSystemStatus>>
<<if $systemStatus lte 0 and tags().includes("place") and _passout is undefined>>
/* player passes out and goes to a different passage */ <<set _passout to 1>> <<trauma 300 0>> <<set $end to 1>>
<<include "System Error">>
<</if>>
<<if _dont>>
<<if $days gte $versionEnd and $end is undefined and tags().includes("place")>> <<set $start to 1>> <<set $end to 1>> <<set _passout to 1>> <<include "End of Version">> <</if>>
<</if>>
<</if>><<if tags().includes("visit")>>
<<if $visit.includes(passage())>> <<else>> <<set $visit.push(passage())>> <</if>>
<</if>><-- <<link "Go back">> <<goto $location>> <</link>> <br> <br>
<<link "Content Settings" "Content Settings">> <</link>><-- <<link "Go back" "Settings">> <</link>> <br> <br>
<h3> NPC Genders </h3>
Set the weighted chance for each gender. Set to 0 to eliminate that gender from the game. <br> <br>
<span style="color:gold"> Male </span> --> None - <<radiobutton "$genderPool.Male" 0 autocheck>>
<<radiobutton "$genderPool.Male" 5 autocheck>>
<<radiobutton "$genderPool.Male" 10 autocheck>>
<<radiobutton "$genderPool.Male" 15 autocheck>>
<<radiobutton "$genderPool.Male" 20 autocheck>>
- Common <br>
<span style="color:gold"> Female </span> --> None - <<radiobutton "$genderPool.Female" 0 autocheck>>
<<radiobutton "$genderPool.Female" 5 autocheck>>
<<radiobutton "$genderPool.Female" 10 autocheck>>
<<radiobutton "$genderPool.Female" 15 autocheck>>
<<radiobutton "$genderPool.Female" 20 autocheck>>
- Common <br>
<span style="color:gold"> Futa </span> --> None - <<radiobutton "$genderPool.Futa" 0 autocheck>>
<<radiobutton "$genderPool.Futa" 5 autocheck>>
<<radiobutton "$genderPool.Futa" 10 autocheck>>
<<radiobutton "$genderPool.Futa" 15 autocheck>>
<<radiobutton "$genderPool.Futa" 20 autocheck>>
- Common <br>
<<if $debug is 1>>
<h3> NPC Behavior </h3>
Change the likelihood of NPCs spawning with the following behaviors. <br> <br>
<span style="color:hotpink"> Sadistic </span> (<em>Rougher during sex</em>) --> None - <<radiobutton "$pTraits.Sadistic" 0 autocheck>>
<<radiobutton "$pTraits.Sadistic" 50 autocheck>>
<<radiobutton "$pTraits.Sadistic" 100 autocheck>>
<<radiobutton "$pTraits.Sadistic" 200 autocheck>>
<<radiobutton "$pTraits.Sadistic" 300 autocheck>>
- Common <br>
<span style="color:hotpink"> Drugger </span> (<em>May attempt to drug you</em>) --> None - <<radiobutton "$pTraits.Drugger" 0 autocheck>>
<<radiobutton "$pTraits.Drugger" 50 autocheck>>
<<radiobutton "$pTraits.Drugger" 100 autocheck>>
<<radiobutton "$pTraits.Drugger" 200 autocheck>>
<<radiobutton "$pTraits.Drugger" 300 autocheck>>
- Common <br>
<</if>><<set $region to "Home">>
<<set $player to {noun: "synth", pronouns: ["they", "their", "them"],
}>>
<<set $citizenship to 0>>
<<set $personality to {
Vengeful: 0,
Lewd: 0,
}>>
<<set $genderPool to {Male: 10, Female: 10, Futa: 0 }>>
<<set $pTraits to {Sadistic: 100, Drugger: 100, BondageLover: 100}>>
<<set $start to 1>> <<set $dayscript to 0>>
<<set $dayFlag to {}>> <<set $weekDay to 0>> <<set $dayDifficulty to 0>> <<set $hourDifficulty to 0>>
<<set $weekFlag to [ {}, {}, {}, {}, {}, {}, {} ]>>
<<set $week to 0>> <<set $days to 0>> <<set $hours to 6>> <<set $minutes to 0>> <<set $totalTime to 0>> <<set $dayCycle to "morning">>
<<set $status to []>> <<set $permStatus to []>>
<<set $fluid to []>> <<set $totalFluid to 0>>
<<set $tax to 0>>
<<set $neg to [ 0, 0, 0, 0, 0, 0, 0 ]>>
<<set $maxNeg to [ 300, 240, 600, 600, 600, 1440, 1000 ]>>
<<set $need to [ 18000, 1080, 1500, 18000, 9000 ]>>
<<set $maxNeed to [ 18000, 1080, 1500, 18000, 9000 ]>>
<<set $minNeed to [ -100, 0, 0, -100, 0 ]>>
<<set $hourNeed to [ 0, 0, 0, 0, 0 ]>>
<<set $systemBonus to 0>>
<<set $power to 50>> <<set $maxPower to 50>>
<<set $trauma to 0>> <<set $fixedTrauma to 0>> <<set $dailyTraumaFix to 0>>
<<set setup.needs to ["Health", "Energy", "Hunger", "Mental", "Release"]>>
<<set setup.neg to ["Pain", "Arousal", "Heat", "Overstim", "Attention", "Sensitivity", "Alcohol" ]>>
<<set $pageStart to 0>> <<set $pageEnd to 10>>
<<set $message to []>>
<<set $credit to 0>>
<<set $quest to [ ]>> <<set $mail to [ ]>>
<<set $inventory to [ [], [], [], [], [], [], [], [], [] ]>>
<<set $apartmentUpgrade to []>>
<<set $record to []>>
<<set $trait to ["traitUntouched"]>>
<<set setup.invCat to [ "Consumables", "Materials", "Valuables", "Key Items", "External Parts", "Internal Parts", "Equipment", "Tools", "Boosts" ]>>
<<set $att to [10, 10, 10, 10, 10, 10]>> <<set $attBonus to [0, 0, 0, 0, 0, 0]>> <<set $attRate to [20, 20, 20, 20, 20, 20]>> <<set $attMult to [20, 20, 20, 20, 20, 20]>>
<<set $attProg to [0, 0, 0, 0, 0, 0]>> <<set $attGoal to [2000, 2000, 2000, 2000, 2000, 2000]>>
<<set $advantage to 0>> <<set $useAdvantage to 0>> <<set $dayAdvantage to 0>>
<<set setup.att to ["Strength", "Endurance", "Charisma", "Intellect", "Dexterity", "Sexuality"]>>
<<set setup.attDesc to [
"Influences how much damage you deal with most combat moves.",
"Determines how much damage you take. Your clothing also provides some protection against physical strikes.",
"Your ability to convince or influence others.",
"Your ability to solve problems and think logically. Influences the speed at which you improve your Skills.",
"Your abiltiy to dodge, sneak, etc.",
"Influences how satisfied others will be with your sexual skills.",
]>>
<<set $skill to {Cooking: 0, Crafting: 0, Fighting: 0, Hacking: 0, Seduction: 0, Scavenging: 0,}>>
<<set $skillBonus to {Cooking: 0, Crafting: 0, Fighting: 0, Hacking: 0, Seduction: 0, Scavenging: 0,}>>
<<set $skillProg to {Cooking: 0, Crafting: 0, Fighting: 0, Hacking: 0, Seduction: 0, Scavenging: 0,}>>
<<set $skillGoal to {Cooking: 500, Crafting: 500, Fighting: 500, Hacking: 500, Seduction: 500, Scavenging: 500, }>>
<<set $rep to [0, 0, 0, 0, 0]>> <<set $repRate to [20, 20, 20, 20, 20]>>
<<set $repProg to [0, 0, 0, 0, 0]>> <<set $repGoal to [2500, 2500, 2500, 2500, 2500]>>
<<set setup.rep to ["Charity", "Combat", "Business"]>>
<<set $negRep to [0, 0, 0, 0, 0]>> <<set $negRepRate to [20, 20, 20, 20, 20]>>
<<set $negRepProg to [0, 0, 0, 0, 0]>> <<set $negRepGoal to [2500, 2500, 2500, 2500, 2500]>>
<<set setup.negRep to ["Exhibitionism", "Whoring", "Free Use"]>>
<<set $totalRep to 0>>
<<include "Perk Init">>
<<set $combatAP to 1>>
<<set $people to []>>
<<set $group to {
Synth: {rep: 0, maxRep: 100, permRep: 0, lust: 0,},
StreetRats: {rep: 0, maxRep: 100, permRep: 0, },
Hybrid: {rep: 0, maxRep: 100, permRep: 0,},
Scavenger: {rep: 0, maxRep: 100, permRep: 0,},
}>>
<<set setup.group to {
Synth: {name: "Synth"},
StreetRats: {name: "Street Rats"},
Hybrid: {name: "Hybrids"},
Scavenger: {name: "Scavengers"},
}>>
<<set $apartmentSlots to ["none", "none", "none"]>>
<<set $crime to 0>>
<<set $eventSpecial to ["Unit1AMeet", "FirstEvent", "DemiMeet"]>>
<<set $undercityItem to []>>
<<set $equipment to [ "none", "none", "none", "none", ]>>
<<set $sexFatigue to {
skin: 0,
mouth: 0,
penis: 0,
vagina: 0,
breasts: 0,
}>>
<<set $body to {modScore: 0,
internal: ["none", "none", "none", "none", "none", "none",],
external: {
hair: ["OgHair", 100],
horns: "none",
head: ["OgHead", 100],
"left eye": ["OgEye", 100],
"right eye": ["OgEye", 100],
ears: ["OgEars", 100],
teeth: ["OgTeeth", 100],
tongue: ["OgTongue", 100],
skin: ["OgSkin", 100],
back: "none", /* wings, tentacles, etc */
breasts: "none",
"left arm": ["OgArm", 100],
"right arm": ["OgArm", 100],
"lower arms": "none",
tail: "none",
penis: "none",
vagina: "none",
"left leg": ["OgLeg", 100],
"right leg": ["OgLeg", 100],
},}>>
<<set $bodyStat to {
human: 0, feline: 0, bovine: 0, insect: 0, monster: 0, canine: 0, avian: 0,
demonic: 0, angelic: 0,
}>>
<<set $physical to {
hair: {length: 10, color: "brown"},
skin: {},
mouth: {size: 0, sens: 0, skill: 0},
penis: {size: 0, sens: 0, skill: 0},
vagina: {size: 0, sens: 0, skill: 0},
breasts: {size: 0, sens: 0, skill: 0},
}>>
<<set $look to {}>>
<<for _key, _value range setup.clothingTrait>>
<<set $look[_key] to 0>>
<</for>>
<<set $wardrobe to [ [], [], [], [], [], [], [], [], [] ]>>
<<set setup.clothCat to [
"Headwear", /* 0 */
"Facewear", /* 1 */
"Neckwear", /* 2 */
"Bodywear", /* 3 */
"Legwear", /* 4 */
"Footwear", /* 5 */
"Accesories", /* 6 */
"Handwear", /* 7 */
]>>
<<set $outfit to []>>
<<set $clothing to {
head: [],
face: [],
mouth: [],
ears: [],
neck: [],
"upper body": [ ["SynthShirt", 100, "white"], ],
back: [],
"left arm": [],
"right arm": [],
"left wrist": [],
"right wrist": [],
"left hand": [],
"right hand": [],
waist: [],
"lower body": [["SynthPants", 100, "white"], ],
"left leg": [],
"right leg": [],
"left ankle": [],
"right ankle": [],
"left foot": [ ["SynthShoe", 100, "white"], ],
"right foot": [ ["SynthShoe", 100, "white"], ],
}>>
<<set $clothingLayer to {
head: 0,
face: 0,
mouth: 0,
ears: 0,
neck: 0,
"upper body": 1,
back: 0,
"left arm": 0,
"right arm": 0,
"left wrist": 0,
"right wrist": 0,
"left hand": 0,
"right hand": 0,
waist: 0,
"lower body": 1,
"left leg": 0,
"right leg": 0,
"left ankle": 0,
"right ankle": 0,
"left foot": 3,
"right foot": 3,
}>>
<<set $playerStat to {
Protection: 0,
Beauty: 0,
Bait: 0,
Comfort: 0, Regen: 0,
Sens: 0,
Bondage: 0,
FaceCover: 0,
UpperCover: 0,
LowerCover: 0,
Degrading: 0,
Cool: 0,
Cute: 0,
Fucktoy: 0,
Shower: 0,
}>>
<<clothOn SynthShirt>> <<clothOn SynthPants>> <<clothOn SynthShoe>> <<clothOn SynthShoe>>
<<bodyOn OgHair>> <<bodyOn OgHead>> <<bodyOn OgEye>> <<bodyOn OgEye>> <<bodyOn OgEars>> <<bodyOn OgTeeth>> <<bodyOn OgSkin>> <<bodyOn OgArm>> <<bodyOn OgArm>> <<bodyOn OgLeg>> <<bodyOn OgLeg>>
<<set setup.color to [ "random color", "white", "black", "light gray", "dark gray", "red", "blue", "yellow", "green", "pink", "brown", "orange", "silver", ]>>
<<set $gameStat to {
fights: 0, victories: 0, surrender: 0, enemiesDefeated: 0,
playerOrgasms: 0, partnerOrgasms: 0,
raped: 0, whored: 0,
caughtByPolice: 0, pickpocket: 0,
}>>
<<set $addiction to {
Alcohol: 0,
Nectar: 0,
Candy: 0,
Aphrodisiac: 0,
Headpat: 0,
Orgasm: 0,
Clicker: 0,
}>>
<<set $timeAddiction to {
Alcohol: 0,
Nectar: 0,
Candy: 0,
Aphrodisiac: 0,
Headpat: 0,
Orgasm: 0,
Clicker: 0,
}>>
<<set $gameVersion to 4>> <<set $versionEnd to 21>>
<<set $visit to []>>
<<set $tradesDone to []>>
<<startFight>>
<<set $outfit.push([ "Default", $clothing ])>>
<<set $plushiesOnBed to []>>
<<set $centerDebt to 0>><<widget "time">>
<<if $hours lt 10>>0<</if>>$hours:<<if $minutes lt 10>>0<</if>><<= Math.floor($minutes)>>
<</widget>>
<<widget "showTime">> 🕔
<<set _minutes to _args[0]>>
<<set _hours to 0>>
<<for _minutes gt 59>>
<<set _a to Math.trunc(_minutes /60)>>
<<set _hours += _a>>
<<set _minutes -= _a *60>>
<</for>>
_hours:<<if _minutes lt 10>>0<</if>>_minutes
<</widget>>
<<widget "passtime">>
<<set $minutes += _args[0]>>
<<set $totalTime += _args[0]>>
<<for $minutes gt 59>>
<<set $hours += 1>>
<<set $minutes -= 60>>
<<hourpassed>>
<<if $hours gt 23>>
<<set $days += 1>> <<daypassed>> <<set $weekDay += 1>> <<if $weekDay gte 7>> <<set $weekDay to 0>> <</if>>
<<set $hours -= 24>>
<</if>>
<</for>>
<<if $systemBonus gt 0>>
<<set $systemBonus to Math.clamp($systemBonus -_args[0], 0, 10000)>>
<<elseif $systemBonus lt 0>>
<<set $systemBonus to Math.clamp($systemBonus +_args[0], -10000, 0)>>
<</if>>
<<for _z to 0; _z lt $status.length; _z++>>
<<= setup[$status[_z][0]].constant>>
<<set $status[_z][1] -= _args[0]>>
<<if $status[_z][1] lte 0>> <<= setup[$status[_z][0]].end>>
<<set $message.push("You lose " + setup[$status[_z][0]].name + "!")>>
<<set $status.deleteAt(_z)>> <<set _z -= 1>>
<</if>>
<</for>>
<<for _z to 0; _z lt $quest.length; _z++>>
<<if setup[$quest[_z][0]].timeLimit isnot undefined>>
<<set _timeElapsed to $totalTime -$quest[_z][2]>>
<<if _timeElapsed gt setup[$quest[_z][0]].timeLimit>>
<<set $message.push("Quests --> You failed " + setup[$quest[_z][0]].name + " because you took too long! " + setup[$quest[_z][0]].fail)>>
<<set $quest.deleteAt(_z)>> <<set _z -= 1>>
<</if>>
<</if>>
<</for>>
<<for _z to 0; _z lt $undercityItem.length; _z++>>
<<if $undercityItem[_z][3] isnot undefined>>
<<set $undercityItem[_z][3] -= _args[0]>>
<<if $undercityItem[_z][3] lte 0>>
<<set $undercityItem.deleteAt(_z)>> <<set _z -= 1>>
<</if>>
<</if>>
<</for>>
<<set $need[0] -= _args[0]>>
<<if _sleeping isnot 1>> <<set $need[1] -= _args[0]>> <</if>>
<<set $need[2] -= _args[0]>>
<<set $need[3] -= _args[0]>>
<<if _sleeping isnot 1>> <<if $need[1] lt 0>> <<set $need[0] += $need[1] *3>> <<set $need[1] to 0>> <</if>> <</if>>
<<if $need[2] lt 0>> <<set $need[0] += $need[2] *6>> <<set $need[2] to 0>> <</if>>
<<if $need[4] lt 0>> <<set $need[3] += $need[4] *6>> <<set $need[4] to 0>> <</if>>
<<if _sleeping is 1>> <<set $need[3] += Math.trunc(($perk.sleepComfort *_args[0]) /30)>> <</if>>
<<for _n to 0; _n lt $neg.length; _n++>>
<<set $neg[_n] to Math.clamp($neg[_n] -_args[0], 0, $maxNeg[_n])>>
<</for>>
<<for _n to 0; _n lt $need.length; _n++>>
<<set $need[_n] to Math.clamp($need[_n], ($maxNeed[_n] *($minNeed[_n] /100)), $maxNeed[_n])>>
<</for>>
<<if $need[3] gt $maxNeed[3] -Math.clamp($trauma *2, 0, 15000)>> <<set _traumaDecay to _args[0] *4>> <<set _prev to $need[3]>>
<<set $need[3] to Math.clamp($need[3] -_traumaDecay, $maxNeed[3] -Math.clamp($trauma *2, 0, 14400), $maxNeed[3])>>
<<if $need[3] gt $maxNeed[3] -Math.clamp($trauma, 0, 15000)>> <<set _traumaDecay to _args[0] *4>>
<<set $need[3] to Math.clamp($need[3] -_traumaDecay, $maxNeed[3] -Math.clamp($trauma, 0, 14400), $maxNeed[3])>> <</if>>
<<if $need[3] gt $maxNeed[3] -Math.clamp($trauma /2, 0, 15000)>> <<set _traumaDecay to _args[0] *4>>
<<set $need[3] to Math.clamp($need[3] -_traumaDecay, $maxNeed[3] -Math.clamp($trauma, 0, 14400), $maxNeed[3])>> <</if>>
<<set _traumaLoss to _prev - $need[3]>>
<<set $message.push("DEBUG - Lost " + _traumaLoss + " Mental due to Trauma. (" + $trauma + ")")>>
<</if>>
<</widget>>
<<widget "hourpassed">>
<<set $hourDifficulty to setup.hourDiff[$hours]>>
<<if $hours gt 5 and $hours lt 8>>
<<if $dayCycle isnot "morning">>
<<set $dayCycle to "morning">>
<<morning>>
<</if>>
<<elseif $hours gte 8 and $hours lte 18>>
<<if $dayCycle isnot "day">>
<<set $dayCycle to "day">>
<</if>>
<<elseif $hours gte 19 and $hours lte 20>>
<<if $dayCycle isnot "noon">>
<<set $dayCycle to "noon">>
<</if>>
<<elseif $hours gte 21 or $hours lte 5>>
<<if $dayCycle isnot "night">>
<<set $dayCycle to "night">>
<<night>>
<</if>>
<</if>>
<<set $power to Math.clamp($power + $perk.powerRecharge, 0, $maxPower)>>
<<if _sleeping isnot 1>>
<<set $need[0] += $playerStat.Regen>>
<<set $need[3] += $playerStat.Comfort>>
<<set $need[3] -= Math.clamp($totalFluid, 0, 120)>>
<</if>>
<<if $personality.Lewd lt 0>>
<<set $need[4] += Math.abs($personality.Lewd)>>
<</if>>
<<for _nKey, _nValue range $hourNeed>>
<<set $need[_nKey] to Math.clamp($need[_nKey] +_nValue, 0, $maxNeed[_nKey])>>
<</for>>
<<for _ftKey, _ftValue range $sexFatigue>>
<<set $sexFatigue[_ftKey] to Math.clamp(_ftValue -2, 0, 100)>>
<</for>>
<<if _sleeping is 1 and _mloss is undefined>> <<set _mloss to {}>> <</if>>
<<for _akey, _avalue range $addiction>>
<<if _avalue gte 100>>
<<if $timeAddiction[_akey] lt _avalue>>
<<if _sleeping isnot 1>>
<<set _loss to _avalue -$timeAddiction[_akey]>> <<set _mloss to _loss *5>> <<set _aloss to Math.trunc(_loss /10)>>
<<set $message.push("<span style='color:red'>You get " + _akey + " withdrawals... </span> <<loseNeed 3 " + _mloss + ">>")>>
<<trauma _aloss 0>>
<<set $addiction[_akey] -= Math.trunc(_aloss /2)>>
<<else>>
<<set _loss to _avalue -$timeAddiction[_akey]>> <<if _mloss[_akey] is undefined>> <<set _mloss[_akey] to 0>> <</if>>
<<set _mloss[_akey] += _loss *3>> <<set _aloss to Math.trunc(_loss /10)>>
<<if $minutes lte 59>>
<<set $message.push("<span style='color:red'>You wake up with " + _akey + " withdrawals... </span> <<loseNeed 3 " + _mloss[_akey] + ">>")>> <<unset _mloss>>
<</if>>
<<trauma _aloss 0>>
<<set $addiction[_akey] -= Math.trunc(_aloss /2)>>
<</if>>
<</if>>
<</if>>
<<set $timeAddiction[_akey] to Math.clamp($timeAddiction[_akey] -15, 0, 2000)>>
<<if $debug is 1>>
<<set $message.push(_akey + " - Addiction: " + _avalue + " TimeAd: " + $timeAddiction[_akey] + " Loss: " + _loss)>>
<</if>>
<</for>>
<</widget>>
<<widget "daypassed">>
<<if $streetMarketSus>> <<streetMarketSus -10>> <</if>>
<<for _r to 0; _r lt $rep.length; _r++>>
<<loseRep _r 10>>
<</for>>
<<for _r to 0; _r lt $negRep.length; _r++>>
<<loseNegRep _r 10>>
<</for>>
<</widget>>
<<widget "morning">>
<<for _akey, _avalue range $addiction>>
<<if _avalue gt 0>>
<<set $addiction[_akey] to Math.clamp($addiction[_akey] -5, 0, 1000)>> <</if>>
<</for>>
<<if $dayFlag.dayTrauma is undefined>>
<<set $message.push("It's a new day!")>>
<<elseif $dayFlag.dayTrauma lte 50>>
<<set $message.push("It's a new day.")>>
<<elseif $dayFlag.dayTrauma lte 200>>
<<set $message.push("It's a new day... hopefully, it will be better than the last.")>>
<<else>>
<<set $message.push("It's a new day. All you want is to forget the last.")>>
<</if>>
<<set $advantage to $dayAdvantage>>
<<set $dayFlag to {}>> <<set $weekFlag[$weekDay] to {}>>
<<set _dailyTraumaFix to $dailyTraumaFix + $xpLevel>> <<set _dailyTraumaFix += Math.trunc($plushiesOnBed.length /3)>>
<<fixTrauma _dailyTraumaFix 0>>
<<if $tax gt 0>>
<<if $credit gte $tax>>
<<set $message.push("The Residential Center upcome was automatically charged to your account!" + "<<loseCred " + $tax + ">>")>>
<<else>>
<<set $message.push("There wasn't enough money in your account to pay the Residential Center's daily fees...")>> <<set $centerDebt += $tax>>
<</if>>
<</if>>
<<demiMorning>>
<<set $jaimeChance += 5>>
<<if $dayscript lt setup.dayScript.end>>
<<set $dayscript += 1>>
<<if $dayscript isnot setup.dayScript.end>>
<<= setup.dayScript[$dayscript]>> <</if>> <</if>>
<<set $dayDifficulty to Math.clamp($days, 0, 20)>>
<<if $happyPerformance isnot undefined>>
<<set $happyPerformance to Math.clamp($happyPerformance -5, 0, 100)>>
<</if>>
<<for _in to 0; _in lt $apartmentSlots.length; _in++>>
<<if $apartmentSlots[_in] isnot "none" and $apartmentSlots[_in][1] gte setup.installList[$apartmentSlots[_in][0]].time>>
<<if setup.installList[$apartmentSlots[_in][0]].morning isnot undefined>>
<<set $message.push(setup.installList[$apartmentSlots[_in][0]].name + " --> " + setup.installList[$apartmentSlots[_in][0]].morning)>>
<</if>>
<</if>>
<</for>>
<</widget>>
<<widget "night">>
<<if _sleeping isnot 1>>
<<set $message.push("<span style='color:red'>The city's sirens blare as night falls.</span>")>>
<</if>>
<</widget>>
<<widget "checkWeekFlag">> <<set _flag to 0>>
<<for _wk to 0; _wk lt 7; _wk++>>
<<if _args[1] is undefined>>
<<if $weekFlag[_wk][_args[0]] isnot undefined>> <<set _flag to 1>> <<set _dayW to _wk>> <</if>>
<<else>>
<<if $weekFlag[_wk][_args[0]] is _args[1]>> <<set _flag to 1>> <<set _dayW to _wk>> <</if>>
<</if>>
<</for>>
<</widget>><-- <<link "Back to contacts" "Social">> <</link>>
<h3> Jaime </h3>
Jaime is a blonde <<if $people[$harraser].pronouns[0] is "he">> man <<else>> woman <</if>> who has been harrassing you.
<br> <br>
<<= $people[$harraser].pronouns[0].toUpperFirst()>> has
<<if $people[$harraser].respect is 0>> <span style="color:red">no</span>
<<elseif $people[$harraser].respect lte 30>> <span style="color:orange"> very low</span>
<<elseif $people[$harraser].respect lte 50>> <span style="color:yellow"> low</span>
<<elseif $people[$harraser].respect lte 80>> <span style="color:yellow"> some</span>
<<elseif $people[$harraser].respect lte 120>> <span style="color:limegreen"> actual</span>
<</if>>
respect for you as a person.
<br> <br>
<<if $people[$harraser].love gt 0>>
<span style="color:gold"> <<= $people[$harraser].pronouns[0].toUpperFirst()>> has given you an official property collar. </span>
<</if>><<set $dayFlag.JaimeEvent to 1>> <<set $jaimeChance to 0>>
With some apprehension you start walking into the crowded street. Human stare at you with disdain or outright hatred. After colliding with a few of them you learn to keep your head down and avoid them. It's clear none of them sees you as a real person. <br> <br>
Then, when you try to sidestep a group of humans, one of them moves in front of you. You step on the other direction and another blocks your way. You look up and instead of seeing the usual looks of hatred, you see five smiling faces, eyes filled with curiosity and <span style="color:hotpink">lust</span>. <br> <br>
<<clearNPC>> <<createNPC Harraser>> <<set $people.push($npc[0])>> <<set $harraser to $people.length -1>> <<set $eventDefiance to 0>>
One of them, a young <<if $npc[0].gender is "Male">> man <<else>> woman <</if>> with dirty blonde hair and twinkling green eyes, steps a little closer to you. <br> <br>
"Goddamn..." <<np He>> laughs, staring at you up and down. "<<if $playerStat.UpperCover lte 10 or $playerStat.LowerCover lte 10>>I love it when they come all exposed like this. <</if>>They really went all out with this one..." <<np He>> reaches out to you. <br> <br>
<<link "Stay still" "First Event Stay Still">> <<playerPersonality Vengeful -10>> <</link>> <br>
<<link "Slap <<np his>> hand away" "First Event Slap">> <<playerPersonality Vengeful 3>> <<set $eventDefiance += 1>> <</link>>You stay completely still as the blonde <<if $npc[0].gender is "Male">> man <<else>> woman <</if>> touches your hair. <br> <br>
"Told you." Another one of the humans tells the blonde one. "The latest models are something else. It's a shame they aren't making them anymore..." <br> <br>
"The real shame is you can't buy 'em now" The blonde scoffs. <br> <br>
"As if you ever had the creds for that." A third quips and all laugh... except the blonde <<if $npc[0].gender is "Male">>man<<else>>woman<</if>>, who grits <<np his>> teeth and grips your hair a little roughly. <br> <br>
"Yeah, well. How the hell they make the hair so realistic?" <br> <br>
"Changing subjects, huh?" <br> <br>
The blonde one sneers. "I wonder if they make every part this good." <br> <br>
With your hair held tightly, <<np he>> pushes your body closer to <<np his>> and <<np his>> other hand reaches down to the back of your neck, then down... <br> <br>
<<link "Continue" "First Event Stay Still 2">> <</link>> <br>You continue staying perfectly still as the blonde <<if $npc[0].gender is "Male">> man <<else>> woman <</if>> moves <<np his>> hand lower. <<if $playerStat.UpperCover lte 10>>The feeling of <<np his>> hand grazing your exposed skin sends a shiver down your spine, making the blonde smile wolfishly. <</if>> <br> <br>
"<<p His>> skin is warm." The blonde <<if $npc[0].gender is "Male">> man <<else>> woman <</if>> notes in a curious tone, before suddenly grabbing one of your buttcheeks. You jump slightly in surprise. "Oh, this feels real, alright." <br> <br>
You stay still as <<np he>> openly gropes your <<if $playerStat.LowerCover lte 10>> exposed ass, taking advantage of your vulnerable state.<<else>> ass through your <<outerLayer "lower body">> clothing. <</if>> Everyone who walks by, at most, just looks at the scene with mild curiosity. <br> <br>
"Be careful, <<np name>>." One of them says as a police drone flies some distance down the street. The blonde scoffs. <br> <br>
"As if they give a fuck. They are the first ones to use these, so why can't we?" <br> <br>
With that <<np he>> releases your hair and moves both hands to your chest. <<if $playerStat.UpperCover lte 10>> You inhale sharply as you feel <<np his>> hands <<if $body.external["breasts"] is "none">> groping your exposed torso. <<else>> grabbing your exposed <<playerBreasts>> and playing with them. <</if>> <<else>> <<if $body.external["breasts"] is "none">> You feel <<np him>> touch around your torso through your clothing, feeling you up. <<else>> You inhale sharply as you feel <<np him>> grab your <<playerBreasts>> through your clothing.<</if>> <</if>> <br> <br>
<span style="color:red"> Suddenly you start feeling lightheaded. </span> Your body shakes slightly out of your control, and your breathing is agitated for no particular reason. You slowly understand what's going on: you were built to simulate human arousal, after all. <<if $playerStat.UpperCover lte 10 or $playerStat.LowerCover lte 10>> Being exposed doesn't help things at all. <<playerArousal 100>> <<else>> <<playerArousal 60>> <</if>> <br> <br>
You feel <<np his>> hands trail lower down your body. <br> <br>
<<link "Continue" "First Event Stay Still 3">> <</link>> <br>You don't move a muscle as the blonde <<if $npc[0].gender is "Male">> man <<else>> woman <</if>> continues groping your body. <<np His>> hands get down to your hips. <br> <br>
"Jeez..." One of the others sighs. "You'll be done soon, <<np name>>? We gotta see Castor soon." <br> <br>
"Give me a fucking second okay?" The blonde, <<np name>>, snaps. Then, suddenly, <span style="color:red"> <<np he>> slips <<np his>> hands under the waistband of your pants. </span> You stumble a bit as <<np he>> gropes your <<playerCrotch>> beneath your clothing with one hand, while the other grabs and pushes your ass closer, keeping you still. <<playerArousal 30>> <br> <br>
<<if $body.external["penis"] isnot "none" and $body.external["vagina"] isnot "none">> 'Goddamn...' <<np name>> mutters huskily. 'This one has both. And <<p his>> dick is getting hard- Fuck, that's so hot...' <<playerStim 30 vagina>>
<<elseif $body.external["penis"] isnot "none">> 'Woah...' <<np name>> laughs huskily. 'This little fucktoy's dick is getting hard...' <<playerStim 30 penis>>
<<elseif $body.external["vagina"] isnot "none">> 'Woah...' <<np name>> laughs huskily. 'This little fucktoy's pussy is getting wet...' <<playerStim 30 vagina>>
<<else>> 'Huh...' <<np name>> frowns for a moment. 'This one got nothing down here.' <br> <br> "Disappointed?" One of the other laughs. <<np name>> smiles wolfishly. <br> <br> "Nah... I can work around that." <<playerStim 30 skin>> <</if>> <br> <br>
While the others circle you, <<np name>> keeps going until it becomes too much for you. <<playerStim 300 skin>> <br> <br>
"What the..." <<np name>> gasps. "Did you see that!?" <<np He>> turns to <<np his>> friends in shock. Most of them are as shocked as <<np him>>, but one snickers instead. <br> <br>
"You didn't know? They made the latest models more sensitive. The first ones were too smart, so they needed a way to control the new ones. Make this one cum a few more times and it'll stop thinking by itself." <br> <br>
"Holy shit, I know what I'm doing today." <<np name>> says and they all laugh. <br> <br>
<span style="color:red"> You're completely unable to move. </span> It seems you're about to lose your freedom before you get a chance to live for your own... <br> <br>
<<link "Continue" "First Event Stay Still 4">> <</link>>"You're a freak, <<np name>>. We really need to go." Says one of <<np his>> friends. <br> <br>
"Dude, fuck off. The one chance I get." <<np name>> grits <<np his>> teeth, but after squeezing your ass one last time, finally moves <<np his>> hands away from you. <<if $body.external["penis"] isnot "none" or $body.external["vagina"] isnot "none">> The hand <<np he>> groped your crotch with is a bit wet: <<np he>> unceremonously wipes it on your skin. <</if>> "Let's go to Castor, fuck." <br> <br>
But as the five start walking again and leave you alone, legs-shaking, <<np he>> lingers a moment behind you and with some significant force slaps your ass. <<playerArousal 30>> <br> <br>
You jump forward but <<np he>> grabs you and whispers in your ear: <br> <br>
<<if $eventDefiance is 0>>
"Don't think you tricked me, fucktoy. Staying still like you don't know any better. I know you can think on your own, but you chose to stay? At least you know your place. I'll definitely find you again and make you cum until your fucking brain fries."
<<else>>
"You've learned your place quick, huh? I like that, fucktoy. I'll find you again to make you cum until your fucking brain fries."
<</if>> <br> <br>
With that, <<np name>> walks away and disappears into the crowd. <br> <br>
<<gainXP 50>> <br> <br>
<<link "Continue">> <<if $trait[0] is "traitUntouched">> <<changeTrait traitUntouched traitTouched>> <</if>> <<gainLove $harraser 35>> <<set $people[$harraser].respect to 0>> <<goto $location>> <</link>>You step away before <<np he>> escalates. The others snicker. <br> <br>
"Bro, you grossed <<p him>> out." One of them mocks. <br> <br>
The blonde <<if $npc[0].gender is 0>> man <<else>> woman <</if>> scoffs. "Ey, fucktoy." <<np He>> glares at you and points to the ground next to <<np him>>. "Know your fucking place and get back over here." <br> <br>
<<link "Submit" "First Event Submit">> <<playerPersonality Vengeful -10>> <</link>> <br>
<<link "Push <<np him>> away" "First Event Slap 2">> <<playerPersonality Vengeful 3>> <</link>> <br>
<<link "Walk away" "First Event Walk Away">> <</link>>You try to walk away, but <<np he>> reaches out and grabs your arm. <br> <br>
"Don't fucking ignore me." <<np He>> warns, but the snickers of <<np his>> friends make <<np him>> sound less intimidating. "You were made to serve me, so better start now..." <br> <br>
<<link "Submit" "First Event Submit">> <<playerPersonality Vengeful -10>> <</link>> <br>
<<link "Push <<np him>> away" "First Event Slap 2">> <<playerPersonality Vengeful 3>> <</link>> <br>You step back and promptly slap the blonde <<if $npc[0].gender is 0>> man's <<else>> woman's <</if>> hand away. <<np He>> sneers while the other laugh. <br> <br>
"A feisty little fucktoy, huh?" <<np He>> glares at you and points to the ground next to <<np him>>. "Know your fucking place and come over here." <br> <br>
<<link "Submit" "First Event Submit">> <<playerPersonality Vengeful -10>> <</link>> <br>
<<link "Push <<np him>> away" "First Event Slap 2">> <<playerPersonality Vengeful 5>> <</link>>You step closer, but only to push <<np him>> away. <<np He>> stumbles a few steps, shock etched in <<np his>> face. <br> <br>
"Fucking bitch!" <<np He>> gawks as the others practically die of laughter. <br> <br>
"Yo, <<np name>>, <<p he>> don't fuck with you bro." <br> <br>
"I'm dead, you're gonna get rejected by your dishwasher next?" <br> <br>
"Shut the fuck up!" The blonde <<if $npc[0].gender is 0>> man <<else>> woman <</if>> snaps but it only makes them laugh harder. "Do you know what you did, synth?" <<np He>> points at you. "One call to the cops and you'll be scrap." <br> <br>
"Bro the cops would take you first-" <br> <br>
"I said shut up!" <<np He>> goes bright red at this point, and the others keep snickering. "Fucking piece of junk. Do you wanna get beaten or what?" <br> <br>
<<link "Say yes" "First Event Slap 3 Say Yes">> <<playerPersonality Vengeful 3>> <</link>> <br>
<<link "Say you'll fuck <<np him>> up" "First Event Slap 3 Fuck Him">> <<playerPersonality Vengeful 6>> <</link>> <br>
<<link "Just walk away" "First Event Avoid Fight">> <</link>>You nod and say yes, you want to get beaten up. <<np He>> blinks in confusion. <br> <br>
"Huh?" <br> <br>
"Fuck this, <<np name>>, we gotta go. Castor's waiting for us." <br> <br>
"Nah, I'm giving this piece of trash what it wants." The blonde, <<np name>>, says. As <<np he>> advances on you, the others form a circle around, to stop interruptions. <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["MockJaime"]>> <<startFight>> <<createEnemy HarraserOne 1>> <<goto 'Fight'>> <<set $aftermath to "First Event Win">> <<set $surrender to "First Event Surrender">> <</link>>You boldly say you'll fuck <<np him>> right up, here in the street. <<np He>> opens <<np his>> mouth in utter shock. <br> <br>
"What the..." <br> <br>
"Fuck this, <<np name>>, we gotta go. Castor's waiting for us." <br> <br>
"Nah. This piece of trash must be broken or something. Needs to learn its place." The blonde, <<np name>>, says. As <<np he>> advances on you, the others form a circle around, to stop interruptions. <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["MockJaime"]>> <<startFight>> <<createEnemy HarraserOne 1>> <<goto 'Fight'>> <<set $aftermath to "First Event Win">> <<set $surrender to "First Event Surrender">> <</link>>Without answering you start walking away. <br> <br>
"That's what I thought." <<np He>> spits, but the others laugh at <<np his>> reactions. <br> <br>
"<<np name>> you getting heated again?" <br> <br>
"Bro you are bright red..." <br> <br>
As you walk away, the sounds of <<np name>> snapping at <<np his>> friends get lost by the noise of the city. <br> <br>
<<gainXP 50>> <br> <br>
<<link "Continue">> <<set $people[$harraser].respect to 30>> <<goto $location>> <</link>><<np name>> falls to the ground among the laughter of <<np his>> friends. Muttering an insult, <<np he>> stands up and <span style="color:red"> reaches under <<np his>> jacket... </span> <br> <br>
"Yo, drone." One of <<np his>> friends warn. Some distance down the street, a police drone flies low. "Let's go-let's go." <br> <br>
<<np name>> doesn't move until <<np his>> friends grab <<np him>> and pull <<np him>> away. <br> <br>
"I'll find you, bitch." <<np He>> threatens, sweating and bright red as the others mock <<np him>> for getting so worked up. <br> <br>
<<gainXP 50>> <br> <br>
<<link "Continue">> <<set $people[$harraser].respect to 50>> <<goto $location>> <</link>>You fall to your knees and raise your hands in surrender. <<np name>> grips your hair and forces you to look up at <<np him>>. <br> <br>
"Fucking piece of junk." <<np He>> practically shouts. "Do you understand your place now!?" <br> <br>
As the others snicker at <<np him>>, <<np he>> grips your hair with more strength. <br> <br>
"Yo, drone." One of <<np his>> friends warn. Some distance down the street, a police drone flies low. "Let's go-let's go." <br> <br>
<<np name>> doesn't move until <<np his>> friends grab <<np him>> and pull <<np him>> away. <br> <br>
"I'll find you, bitch." <<np He>> threatens, sweating and bright red as the others mock <<np him>> for getting so worked up. <br> <br>
<<gainXP 50>> <br> <br>
<<link "Continue">> <<set $people[$harraser].respect to 30>> <<goto $location>> <</link>>You step back closer in a submissive gesture. <<np He>> smiles triumphantly. <br> <br>
"There you go. Now don't move a muscle." <br> <br>
<<include "First Event Stay Still">><<if $harraserMock is undefined>> You make a snide comment about <<np name>> to <<np his>> friends. They look at each other, then burst out laughing. <<np name>> goes bright red. <<set $harraserMock to 1>>
<<elseif $harraserMock is 1>> You comment on <<np name>>'s looks. <<np His>> friends agree, laughing. <<set $harraserMock to 2>>
<<elseif $harraserMock is 2>> You keep mocking <<np name>>. "Can you f-fucking fight back??" <<np He>> snaps. <<np His>> friends imitate <<np his>> stammering. <<set $harraserMock to 3>>
<<elseif $harraserMock is 3>> You imitate <<np name>>'s speech pattern with calculated, mocking unaccuracy. <<np His>> friends howl in laughter. <<np name>> blinks in disbelief. <<set $harraserMock to 4>>
<<else>> <<set _hideFight to 1>> Before you can say anything, <span style="color:red"> <<np name>> reaches under <<np his>> jacket. </span> <br> <br>
"So you think it's funny." <<np He>> sneers, shaking. "Let's see if you laugh after I fill you with lead." <br> <br>
"Yo <<np name>>, chill for a sec." One of <<np his>> friends say. <br> <br>
"Shut the fuck up or you'll be next!" <br> <br>
"Drone over there." Another one of <<np his>> friends warn. Some distance down the street, a police drone flies low. "Let's go-let's go." <br> <br>
<<np Name>> doesn't move until <<np his>> friends grab <<np him>> and pull <<np him>> away. <br> <br>
"I'll find you, bitch." <<np He>> threatens, sweating and bright red as the others keep mocking <<np him>> for getting so worked up. <br> <br>
<<gainXP 50>> <br> <br>
<<link "Continue">> <<set $people[$harraser].respect to 50>> <<goto $location>> <</link>> <<set _i to $play.length>>
<</if>><<widget "JaimeRespect">>
<<set $people[$harraser].respect to Math.clamp($people[$harraser].respect +_args[0], 0, 100)>>
<</widget>>
<<widget "jaimeCollarReaction">>
<<if $jaimeCollar isnot undefined>>
Jaime smiles when <<np he>> sees you wearing the collar <<np he>> gave you. <<gainLove $harraser 5>>
<</if>>
<</widget>>
<<widget "jaimeEvent">>
<<if $dayFlag["JaimeEvent"] is undefined>> <<set _chance to $jaimeChance>>
<<chance _chance>>
<<set $dayFlag.JaimeEvent to 1>> <<set $jaimeChance to 0>>
<<set _jaimepool to {
"Jaime Event Grope": 5,
}>>
<<if $playerStat.UpperCover gt 0 or $playerStat.LowerCover gt 0>> <<set _jaimepool["Jaime Event Clothing"] to 5>> <</if>>
<<if $playerStat.Bondage is 0>> <<set _jaimepool["Jaime Event Bondage"] to 5>> <</if>>
<<set _event to weightedEither(_jaimepool)>>
<<if $people[$harraser].loveProg gte $people[$harraser].loveGoal>>
<<if $people[$harraser].love is 0>> <<set _event to "Jaime Love One">>
<</if>>
<</if>>
<</chance>>
<</if>>
<</widget>><<if $people[$harraser].respect is 0>>
You respond with a loud insult. For a moment Jaime and <<np his>> friends stare in surprise, but then the latter start laughing, and Jaime seethes. <br> <br>
"You little bitch, I'm going to..." <br> <br>
<<np His>> friends drag <<np him>> away. "Not now, bro." Says one as they laugh at <<np his>> attempts to lunge at you. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<else>> <<set _variant to weightedEither({clicker: 10, weaken: 10, dizzy: 10})>>
<<if _variant is "clicker">>
You respond with a loud, quick insult. Jaime scowls. <br> <br>
"I figured you'd say something like that. That's why I brought this." <<np He>> produces a small clicker device. Smirking, <<np he>> clicks it a few times. <br> <br>
You blink. You feel the unauthorized signal bouncing inside your head. Suddenly the mere idea of going against human orders repulses you. <<applyStatus NiceBehaviorDebuff 1200>> <br> <br>
"Let's try again. Now I want you to kneel and apologize. Quick, slut." <br> <br>
<<link "Obey" "Jaime Event Clicker Compliant">> <<JaimeRespect -20>> <</link>> | <span style="color:violet">Compliant</span> <br>
<<link "Resist" "Jaime Event Clicker Vengeful">> <<JaimeRespect 20>> <</link>> | <span style="color:red">Vengeful</span> <br>
<<elseif _variant is "weaken">>
You respond with a loud, quick insult. Jaime glares at you. <br> <br>
"You're not quick to learn, huh? Maybe this will help, bitch." <br> <br>
<<np He>> produces a tablet and taps a few keys. Suddenly you feel weaker. <<np He>> smirks. <<applyPermStatus MinorWeakDebuff>> <br> <br>
"Let's see how long you can keep that attitude now." <br> <br>
With that, <<np he>> and <<np his>> friends walk away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<elseif _variant is "dizzy">>
You respond with a loud, quick insult. Jaime glares at you. <br> <br>
"You're not quick to learn, huh? Maybe this will help, bitch." <br> <br>
<<np He>> produces a tablet and taps a few keys. Suddenly you feel lightheaded. <<np He>> smirks. <<applyPermStatus MinorDizzyDebuff>> <br> <br>
"There you go. You shouldn't be thinking on your own, after all." <br> <br>
With that, <<np he>> and <<np his>> friends walk away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<</if>>
<</if>>You slowly get on your knees to apologize. As you say the words Jaime is smiling from ear to ear. <<playerPersonality Vengeful -5>> <br> <br>
"That felt good huh?" <<np He>> teases. "Maybe that'll teach you to be good." <br> <br>
"Bro." Says one of <<np his>> friends. "Castor didn't give you that thing for this stuff..." <br> <br>
"Whatever." Jaime scoffs. "Bye slut, good luck!" <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You stay still, staring at Jaime. <<np He>> smiles. <<playerPersonality Vengeful 5>> <br> <br>
"Hurts huh?" <<np He>> teases. "Maybe that'll teach you to be good." <br> <br>
"Bro." Says one of <<np his>> friends. "Castor didn't give you that thing for this stuff..." <br> <br>
"Whatever." Jaime scoffs. "Bye slut, good luck!" <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<loadPerson $harraser>>
You see Jaime and <<np his>> friends ahead. Unfortunately they see you too. <<jaimeCollarReaction>> <br> <br>
<<if $people[$harraser].respect is 0>>
"Ey, fucktoy!" Jaime says as they approach you. "I need to de-stress. Face against the wall."
<<elseif $people[$harraser].respect gt 0>>
"Ey, fucktoy!" Jaime shouts as they approach you. "It's time you learn your place. I need to de-stress, so be good and face against the wall."
<</if>>
<br> <br>
<<link "Obey" "Jaime Event Grope Compliant">> <<JaimeRespect -20>> <<trauma 5 0>> <</link>> | <span style="color:violet">Compliant</span> <br>
<<link "Snap back" "Jaime Event Vengeful">> <<JaimeRespect 20>> <<playerPersonality Vengeful 10>> <</link>> | <span style="color:red">Vengeful</span> <br><<set $forced to 1>>
Jaime's friends snicker as you turn around and face the nearest wall. <<playerPersonality Vengeful -10>>
<br> <br>
You hear Jaime move behind you.
<<if $people[$harraser].respect is 0>>
"Yeah, this what I needed."
<<elseif $people[$harraser].respect gt 0>>
"So you're behaving today, huh?"
<</if>>
<<np he>> says as <<np he>> holds your head against the wall with one hand <<if $playerStat.LowerCover gt 10>> and forcefully pushes your clothing away to expose your lower body. "Stick your ass out." <<else>> and slaps your exposed ass with the other one. "Love the easy access." <</if>>
<br> <br>
<<if $body.external["penis"] isnot "none" and $body.external["vagina"] isnot "none">>
Slowly <<np he>> begins rubbing your <<playerVagina>> while keeping a solid grip on your head. <<playerStim 30 vagina>> Eventually <<np he>> bores and <<np his>> hand snakes around to stroke your hardening <<playerPenis>> as <<np his>> friends, and everyone else in the street, watches. <<playerStim 30 penis>>
<<elseif $body.external["penis"] isnot "none">>
Slowly <<np his>> hand snakes around to stroke your hardening <<playerPenis>> as <<np he>> keeps a solid grip on your head. <<playerStim 30 penis>> Soon <<np he>> begins stroking you earnestly as <<np his>> friends, and everyone else in the street, watches. <<playerStim 30 penis>>
<<elseif $body.external["vagina"] isnot "none">>
Slowly <<np he>> begins rubbing your <<playerVagina>> while keeping a solid grip on your head. <<playerStim 30 vagina>> Soon <<np he>> slips a couple fingers inside and starts pumping them in and out as <<np his>> friends, and everyone else in the street, watches. <<playerStim 30 vagina>>
<<else>>
Slowly <<np he>> starts groping your ass while keeping a solid grip on your head. <<playerStim 40 skin>> Soon <<np he>> forces <<np his>> middle finger inside your butt and starts pumping it in and out as <<np his>> friends, and everyone else in the street, watches. <<playerStim 40 skin>>
<</if>>
<<if $body.external["tail"] is not "none">> At some point <<np he>> shanks your <<= setup[$body.external["tail"][0]].name>>, making you whimper in surprise. <<playerStim 30 skin>>
<</if>>
<br> <br>
"You like this? You're so fucking easy." <<np He>> laughs. <<if _playerOrgasm isnot undefined>> "Making you cum is so fun." <</if>>
<br> <br>
"You done Jaime?" One of <<np his>> friends asks in amusement. Jaime scowls and slaps your ass in frustration. <<enemyStrike 20>> <br> <br>
"Let's go then, fuck." <<np He>> walks away with <<np his>> friends, leaving you exposed and shaking in the middle of the street. After a second of shock, you hurry to compose yourself before anyone else gets any ideas. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<gainLove $harraser 15 1>> <<goto $location>> <</link>><<clearNPC>> <<loadPerson $harraser>>
You see Jaime and <<np his>> friends ahead. Unfortunately they see you too. <<jaimeCollarReaction>> <br> <br>
<<if $people[$harraser].respect is 0>>
"Hi pet." Jaime greets you as they approach you. "I want a little gift from you. Take off your clothes."
<<elseif $people[$harraser].respect gt 0>>
"Hi pet." Jaime greets you as they approach you. "I found a way you can make it up to me. Take off your clothes."
<</if>>
<br> <br>
<<link "Obey" "Jaime Event Clothing Compliant">> <<JaimeRespect -30>> <<trauma 5 0>> <</link>> | <span style="color:violet">Compliant</span> <br>
<<link "Snap back" "Jaime Event Vengeful">> <<JaimeRespect 20>> <<playerPersonality Vengeful 10>> <</link>> | <span style="color:red">Vengeful</span> <br><<set $forced to 1>>
You take off your clothes as Jaime and <<np his>> friends leer at you. <<playerExposed 300>> <<playerStrip "upper body" "lower body">>
<br> <br>
Once you're done Jaime takes the clothes out of your hands. <br> <br>
"Thanks for the gift, bitch." <<np He>> laughs as they walk away, leaving you exposed in the middle of the street. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<gainLove $harraser 30 1>> <<goto $location>> <</link>><<clearNPC>> <<loadPerson $harraser>>
You see Jaime and <<np his>> friends ahead. Unfortunately they see you too. <<jaimeCollarReaction>> <br> <br>
<<if $people[$harraser].respect is 0>>
"I was looking for you." Jaime says, smiling strangely, as <<np he>> produces a thick length of rope. "I need some practice with this. Stay still."
<<elseif $people[$harraser].respect gt 0>>
"I was looking for you." Jaime says, smiling strangely, as <<np he>> produces a thick length of rope. "I thought of a punishment for you. Stay still."
<</if>>
<br> <br>
<<link "Obey" "Jaime Event Bondage Compliant">> <<JaimeRespect -30>> <<trauma 5 0>> <</link>> | <span style="color:violet">Compliant</span> <br>
<<link "Snap back" "Jaime Event Vengeful">> <<JaimeRespect 20>> <<playerPersonality Vengeful 10>> <</link>> | <span style="color:red">Vengeful</span> <br>You stay still as Jaime puts the rope around your upper body, constricting your movements. Once <<np he>>'s done <<np he>> pushes you around experimentally for a bit: you are completely helpless. <<wear "upper body" BondageRope locked>> <br> <br>
"That's so much better." <<np He>> laughs, happy with <<np him>>self. "This is how you should look like all the time. In fact..." <br> <br>
<<np He>> pulls out a small magnetic lock from <<np his>> pocket and quickly <span style="color:red">locks the rope in place.</span> You struggle for a bit before realizing there's no escape. <br> <br>
"Now you look perfect. See you around..." <<np He>> and <<np his>> friends walk away, laughing to each other. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<loadPerson $harraser>>
You see Jaime and <<np his>> friends ahead. Unfortunately they see you too. <br> <br>
"There you are, slut!" Jaime laughs. <<np He>> seems awfully cheerful today. "I got something for you! Here..." <br> <br>
<<np He>> produces a leather collar. Behind <<np him>>, <<np his>> friends snicker. <br> <br>
"I bought this a couple years ago. I was planning on buying one like you, y'know?" <br> <br>
"Bro the collar was all you could afford." Quips one of <<np his>> friends. Jaime's eye twitches, but <<np he>> continues: <br> <br>
"But you'll have to do instead." <<np He>> hands you over the collar. It reads '<em>Private Property - Synthetic Companion</em>'. "You better wear it next time I see you." <br> <br>
You look at Jaime walk away as <<np his>> friends tease <<np him>>, and then you stare at the collar in your hands. It feels like something changed on Jaime's part. For better or for worse. <span style="color:hotpink"> Jaime's Affection Level increased! </span> <br> <br>
<<set $people[$harraser].love += 1>>
<<passageXP 50>> <br> <br>
<<link "Continue">> <<lootItem 3 JaimeCollar 100>> <<goto $location>> <</link>><-- <<link "Back to contacts" "Social">> <</link>>
<h3> Dr. Blake </h3>
Dr Blake is a <<pr noun $blake>> working at Elixir Company's labs in Sector A5.<-- <<link "Back to contacts" "Social">> <</link>>
<h3> River </h3>
River is a rich <<<<if $people[$river].pronouns[0] is "he">> man <<else>> woman <</if>>>> who frequently tours the lower districts through <<pr his $river>> holographic avatar.<<if $river is undefined>>
You see an hologram surrounded by armed drones. People stay far away from it, so you do as well. The hologram looks everywhere around it with what seems like curiosity. <br> <br>
<<else>>
You see River's hologram again, surrounded by <<pr his $river>> armed drones. People keep a good distance from it. <br> <br>
<</if>>
<<link "Approach" "Slum Event Rich Hologram Approach">> <</link>> <br>
<<link "Continue">> <<goto $location>> <</link>><<if $visit.includes(passage()) is false>> <<set $richHologram to 0>>
<<clearNPC>> <<createNPC River>> <<set $people.push($npc[0])>> <<set $river to $people.length -1>>
You approach the hologram, wary of the drones as they aim at you in warning. From this much closer you can see the hologram represents a young <<if $npc[0].gender is "Male">> man, <<else>> woman, <</if>> but you can't distinguish much of <<np his>> features from the flickering, pixelated blue image projected from one of the drones. The holographic <<if $npc[0].gender is "Male">> man <<else>> woman <</if>> does a double take when <<np he>> notices you so close. <br> <br>
"You are one of those synths?" <<np He>> asks without waiting for an answer. "I bought one but never got it, y'know? Maybe it's you." <br> <br>
The hologram glitches for a second as <<np he>> laughs. You notice <<np he>> keeps looking to <<np his>> side, but there's no one there. You figure this must be the holographic avatar of a high-district resident who keeps looking back at some control panel. <br> <br>
"There's really nothing good down there." <<np He>> sighs to <<np him>>self. "All I wanted was to escape for a minute but... things are even worse where you're at. It's tiring... so much mysery is boring." <br> <br>
The hologram glitches again. 'Name's River, by the way. If synths ever lose citizenship maybe I'll buy you again? Until then, have a little something for hearing me out.' <<gainCred 200>> 'Maybe you can entertain me another time. Until then, I'm off.' <br> <br>
With that the hologram suddenly flickers off and the projector drone flies away, followed by its bodyguards. You stand there, feeling confused. <br> <br>
<<passageXP 30>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<else>>
<<set _jobList to [
"grovel", "fight", "surrender",
]>>
<<set _variant to _jobList[$richHologram % _jobList.length]>>
<<if _variant is "fight">>
<<clearNPC>> <<createNPC HybridWolf>>
You approach the hologram, wary of the drones as they aim at you. River turns to you. <br> <br>
"You again?" <<pr He $river>> says. "You want more credits? I don't do charity, so..."
<<pr He $river>> looks around, thinking. <<pr He $river>> glitches as <<pr he $river>> sees a <<np name>> hybrid nearby.
"Look at that! You really live among those things...? Whatever. Go start a fight or something and I'll pay you eight hundred." <br> <br>
<<link "Shove the <<np name>>" "Slum Event Rich Hologram Wolf">> <<set $dayFlag.RichHologramJob to 1>> <<set $richHologram += 1>> <</link>> <br>
<<link "Refuse" "Slum Event Rich Hologram Refuse">> <</link>>
<<elseif _variant is "grovel">>
You approach the hologram, wary of the drones as they aim at you. River tilts <<pr his $river>> holographic head at you. <br> <br>
"Hello again. I'm feeling pretty generous today..." <<pr He $river>> snorts. It's a short electrical sound.
"Grovel for me a little." <<pr He $river>> points to the ground. "I'll pay you five hundred. Easy, right?" <br> <br>
<<link "Grovel" "Slum Event Rich Hologram Grovel">> <<playerPersonality Vengeful -3>> <<trauma 10 0>> <<set $dayFlag.RichHologramJob to 1>> <<set $richHologram += 1>> <</link>> <<compliantTip>> <br>
<<link "Refuse" "Slum Event Rich Hologram Refuse">> <</link>>
<<elseif _variant is "surrender">>
<<clearNPC>> <<createNPC SlumHuman>>
You approach the hologram, wary of the drones as they aim at you. River seems happy to see you. <br> <br>
"There you are!" <<pr He $river>> says. "I know exactly what I want from you today."
It points to a <<np name>> walking on your direction.
"<<np He>> seems like <<np he>> needs a little cheering up, don't you think? Let <<np him>> do whatever <<np he>> wants with you and I'll pay you a thousand creds." <br> <br>
<<link "Offer yourself to the <<np name>>" "Slum Event Rich Hologram Surrender">> <<trauma 50 0>> <<set $dayFlag.RichHologramJob to 1>> <<set $richHologram += 1>> <</link>> <<compliantTip>> <br>
<<link "Refuse" "Slum Event Rich Hologram Refuse">> <</link>>
<</if>>
<</if>>You refuse River's offer and quickly walk away. <br> <br>
<<link "Continue">> <<set $dayFlag.RichHologramJob to 1>> <<goto $location>> <</link>>You get on your knees in front of River. <<pr He $river>> tilts <<pr his $river>> head. <br> <br>
"That's not quite right. Your forehead should be touching the floor. Come on." <<pr He $river>> urges you. Hesitantly you obey, lowering yourself until you feel the cold concrete pressing against your forehead. <<loseNeed 3 300>> <br> <br>
'Put your palms on the ground too.' The hologram says. 'Now that's a complete look. Hm... hold it for five minutes, would you? If you move I'm not giving you anything.' <br> <br>
<<link "Maintain the position" "Slum Event Rich Hologram Grovel Yes">> <<loseNeed 3 600>> <<trauma 20 0>> <<passtime 5>> <</link>> <<showTime 5>> <<compliantTip>> <br>
<<link "Stand up and leave" "Slum Event Rich Hologram Grovel No">> <</link>>You continue groveling for five entire minutes. You can't see much but the ground, and you only hear the electric buzz of River watching you against the background sounds of the city. <<playerPersonality Vengeful -6>> <br> <br>
"Alright, that's enough." Eventually River says. "It's tempting to see how long you'd stay like that, but I have things to do. Here." <<gainCred 500>> "See ya around." <br> <br>
With that the hologram flickers off and the projector drone flies away, followed by its bodyguards. You slowly stand up only to see multiple people watching. You hurry to leave. <<loseNeed 3 400>> <br> <br>
<<passageXP 50>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You stand up and leave. <br> <br>
"Guess you didn't want it that much." River laughs. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You approach the <<np name>> from behind as River watches. Hesitantly you put your hands on <<np his>> ample back and push. <br> <br>
The <<np name>> stumbles a couple steps, then looks at you with confusion. That quickly changes to fury. <br> <br>
"You have a broken chip or something, synth?" <<np He>> growls as <<np he>> charges at you. You hear River's electrical laugh as you take a fighting stance. <br> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Rich Hologram Wolf Win">> <<set $surrender to "Slum Event Rich Hologram Wolf Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>>The <<np name>> stumbles back in pain, yelping. "Something's wrong with you." <<np He>> says as <<np he>> retreats. Behind you, River sighs. <br> <br>
"Well, that was something. I was hoping you'd lose. But a deal's a deal." <<gainCred 800>> "I'm tired of this place. I'm off." <br> <br>
With that the hologram flickers off and the projector drone flies away, followed by its bodyguards. <br> <br>
<<passageXP 50>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The <<np name>> kicks you after you surrender. <<enemyStrike 30>> <br> <br>
"Hope that teaches you a lesson." <<np He>> says and is about to leave... <br> <br>
"Uh, is that it?" River asks <<np him>>. "Only a kick?" <br> <br>
It appears the <<np name>> just noticed the hologram's presence. "What are you watching for?" <<np He>> snaps, then hesitates as the armed drones buzz around. "... what did you expect?" <br> <br>
"Hm. I guess just... more." River says. "How about this: if you really teach <<p him>> a lesson, I'll pay you a thousand creds. <br> <br>
The <<np name>>'s go wide for a second. <<np His>> hands are on you almost instantly. <br> <br>
<<clearPartner>> <<createPartner 0>>
<<setScene 1 mainCourse>> <<set $scenePublic to 1>>
<<include setup[$scene].desc>> <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Slum Event Rich Hologram Wolf Finish">> <</link>>The <<np name>> breaths agitatedly. "Is that enough for you?" <<np He>> asks the hologram. <br> <br>
"Plenty. Check your account." <br> <br>
As the <<np name>> fumbles to check <<np his>> phone, River approaches the spot where you lie on the ground. <br> <br>
"Thanks for entertaining me." <<pr He $river>> says in an amused tone. "A deal's a deal." <<gainCred 800>> "Until next time." <br> <br>
With that the hologram flickers off and the projector drone flies away, followed by its bodyguards. You slowly stand up and get out of there. <br> <br>
<<passageXP 50>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>As the <<np name>> walks closer, you stand on <<np his>> way. <<np He>> glares at you and is about to push you aside until you get on your knees. <br> <br>
"<<p He>>'s paid for." River explains to <<np him>>. "Enjoy!" <br> <br>
The <<np name>> doesn't need to be told twice...
<<clearPartner>> <<createPartner 0>>
<<setScene 1 playerPleasure>> <<set $scenePublic to 1>>
<<include setup[$scene].desc>> <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Slum Event Rich Hologram Surrender Finish">> <</link>>As the <<np name>> recovers River approaches you. <br> <br>
"Thanks for the show. As promised..." <<gainCred 1000>> "At this point I really should just buy you, don't you think?" <br> <br>
With that the hologram flickers off and the projector drone flies away, followed by its bodyguards. You slowly stand up and get out of there. <br> <br>
<<passageXP 50>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><-- <<link "Back to contacts" "Social">> <</link>>
<h3> Gab </h3>
Gab is a <<pr noun $gab>>. Just like you, <<pr he $gab>> is trying to make a life for <<pr him $gab>>self.<-- <<link "Close">> <<goto $location>> <</link>> <br> <br>
General Reputation | <<link "Contacts" "Social">> <<set $pageStart to 0>> <<set $pageEnd to 5>> <</link>>
<br> <br>
<<for _i = 0; _i lt setup.rep.length; _i++>>
<span style="color:aqua"> <<= setup.rep[_i]>>: </span> <span style="color:gold"> $rep[_i]</span> (<<= Math.trunc(($repProg[_i] /$repGoal[_i]) *100)>>%) <br>
<</for>>
<br>
<<for _i = 0; _i lt setup.negRep.length; _i++>>
<span style="color:red"> <<= setup.negRep[_i]>>: </span> <span style="color:gold"> $negRep[_i]</span> (<<= Math.trunc(($negRepProg[_i] /$negRepGoal[_i]) *100)>>%) <br>
<</for>><-- <<link "Close">> <<goto $location>> <</link>> <br> <br>
<<link "General Reputation" "Reputation">> <</link>> | Contacts
<br> <br>
<<for _i to 0; _i lt $people.length; _i++>>
<<capture _i>> <<if setup[$people[_i].base].noContact is undefined>>
<div class="cardBox">
<span style="color:gold"> <<= $people[_i].name>> </span> - Affection level: $people[_i].love ($people[_i].loveProg/$people[_i].loveGoal) <br>
<<link "See details">> <<goto setup[$people[_i].base].desc>> <</link>>
</div> <</if>>
<</capture>> <</for>><<widget "clearNPC">> <<set $npc to []>> <</widget>>
<<widget "createNPC">> <<set _id to _args[0]>> <<set _npc to clone(setup[_id])>>
<<set _npc.gender to weightedEither($genderPool)>>
<<if _npc.noun is undefined>> <<set _npc.noun to ["", "", ""]>> <</if>>
<<switch _npc.gender>>
<<case Male>> <<set _npc.pronouns to ["he", "him", "his"]>> <<set _npc.name to _npc.name[0]>><<set _npc.noun to _npc.noun[0]>>
<<case Female Futa>> <<set _npc.pronouns to ["she", "her", "her"]>> <<set _npc.name to _npc.name[1]>><<set _npc.noun to _npc.noun[1]>>
<<case Andro>> <<set _npc.pronouns to ["they", "them", "their"]>> <<set _npc.name to _npc.name[2]>><<set _npc.noun to _npc.noun[2]>>
<</switch>>
<<if _npc.trait isnot undefined>> <<set _npc.trait to _npc.trait.random()>> <<else>> <<set _npc.trait to "">> <</if>>
<<set $npc.push(clone(_npc))>>
<</widget>>
<<widget "loadPerson">> <<set $npc.push(clone($people[_args[0]]))>> <</widget>>
<<widget "np">><<if _args[1] isnot undefined>> <<set _who to _args[1]>> <<else>> <<set _who to 0>> <</if>>
<<switch _args[0]>>
<<case The>><<if $npc[_who].article is undefined>>The<</if>>\
<<case the>><<if $npc[_who].article is undefined>>the<</if>>\
<<case name>><<if $npc[_who].trait isnot undefined>><<= $npc[_who].trait>> <</if>><<= $npc[_who].name>>\
<<case Name>><<= $npc[_who].trait.toUpperFirst()>> <<= $npc[_who].name>>\
<<case he>><<= $npc[_who].pronouns[0]>>\
<<case him>><<= $npc[_who].pronouns[1]>>\
<<case his>><<= $npc[_who].pronouns[2]>>\
<<case He>><<= $npc[_who].pronouns[0].toUpperFirst()>>\
<<case Him>><<= $npc[_who].pronouns[1].toUpperFirst()>>\
<<case His>><<= $npc[_who].pronouns[2].toUpperFirst()>>\
<</switch>><</widget>>
<<widget "p">><<switch _args[0]>><<case name>> <<= $player.name>>\
<<case Name>><<= $player.name.toUpperFirst()>>\
<<case he>><<= $player.pronouns[0]>>\
<<case him>><<= $player.pronouns[1]>>\
<<case his>><<= $player.pronouns[2]>>\
<<case He>><<= $player.pronouns[0].toUpperFirst()>>\
<<case Him>><<= $player.pronouns[1].toUpperFirst()>>\
<<case His>><<= $player.pronouns[2].toUpperFirst()>>\
<</switch>><<if _args[1] isnot undefined>> _args[1] <</if>>\
<</widget>>
<<widget "pr">><<if _args[1] isnot undefined>> <<set _who to _args[1]>> <<else>> <<set _who to 0>> <</if>>
<<switch _args[0]>>
<<case The>><<if $people[_who].article is undefined>>The<</if>>\
<<case the>><<if $people[_who].article is undefined>>the<</if>>\
<<case name>><<if $people[_who].trait isnot undefined>><<= $people[_who].trait>> <</if>><<= $people[_who].name>>\
<<case Name>><<= $people[_who].trait.toUpperFirst()>> <<= $people[_who].name>>\
<<case noun>><<= $people[_who].noun>>\
<<case Noun>><<= $people[_who].noun.toUpperFirst()>>\
<<case he>><<= $people[_who].pronouns[0]>>\
<<case him>><<= $people[_who].pronouns[1]>>\
<<case his>><<= $people[_who].pronouns[2]>>\
<<case He>><<= $people[_who].pronouns[0].toUpperFirst()>>\
<<case Him>><<= $people[_who].pronouns[1].toUpperFirst()>>\
<<case His>><<= $people[_who].pronouns[2].toUpperFirst()>>\
<</switch>><</widget>><<widget "gainLove">>
<<if $people[_args[0]].love lte _args[2]>>
<<if $people[_args[0]].loveProg lt $people[_args[0]].loveGoal>>
<<set $people[_args[0]].loveProg += _args[1]>>
<<if $people[_args[0]].loveProg gte $people[_args[0]].loveGoal>>
<<set $people[_args[0]].loveProg to $people[_args[0]].loveGoal>>
<</if>>
<</if>> <</if>>
<</widget>>
<<widget "gainFavor">>
<<set $group[_args[0]].rep to Math.clamp($group[_args[0]].rep +_args[1], -$group[_args[0]].maxRep, $group[_args[0]].maxRep)>>
<<set $message.push("<span style='color:limegreen'> Increased favor: " + setup.group[_args[0]].name + "! </span>")>>
<</widget>>
<<widget "social">>
<<set _gain to Math.trunc(_args[0] * (1 + ($perk.socialBonus /100)))>>
<<gainNeed 3 _gain>> <</widget>><<widget "pTitle">><<= setup.PlayerTitles[_args[0]][$player.gender]>><</widget>><-- <<link "Back to contacts" "Social">> <</link>>
<h3> Demi </h3>
Demi is a short <<if $people[$demi].pronouns[0] is "he">> synth boy <<else>> synth girl <</if>> living in the same Residential Center than you.
<span style="color:aqua">
<<if $people[$demi].love is 0>>
<<= $people[$demi].pronouns[0].toUpperFirst()>> seems naive and unprepared in pretty much every way and relies on you a lot.
<<elseif $people[$demi].love is 1>>
<<= $people[$demi].pronouns[0].toUpperFirst()>> considers you <<pr his $demi>> best (and only) friend.
<</if>>
</span>
<br> <br>
Right now <<pr he $demi>> has
<<if $people[$demi].knowledge is 0>> <span style="color:red"> zero </span>
<<elseif $people[$demi].knowledge lte 4>> <span style="color:orange"> very low </span>
<<elseif $people[$demi].knowledge lt 8>> <span style="color:yellow"> low </span>
<<else>> <span style="color:limegreen"> decent </span>
<</if>> knowledge about the world. (<<= $people[$demi].knowledge>>)
<<if $people[$demi].autonomy gt 0>> So far, <<= $people[$demi].pronouns[0]>> has learned that it's up to <<= $people[$demi].pronouns[2]>> to take care of <<= $people[$demi].pronouns[2]>>self.
<<elseif $people[$demi].autonomy lt 0>> So far, <<= $people[$demi].pronouns[0]>> has learned that you'll take care of <<= $people[$demi].pronouns[2]>>.
<</if>><<clearNPC>> <<createNPC Demi>> <<set $people.push($npc[0])>> <<set $demi to $people.length -1>> <<set $people[$demi].time to $totalTime>> <<set $people[$demi].knowledge to 0>>
You feel a tug on your wrist. When you turn around you see a short <<if $people[$demi].pronouns[0] is "he">> synth boy <<else>> synth girl <</if>> looking up at you. <br> <br>
"Sorry... my name's Demi and... I just got here and uh..." <<np He>> is holding a note. "I'm supposed to find my... my apartment but I don't know how..." <br> <br>
You notice <<np his>> address is written in the note. You know all synths are built differently, but it's still a surprise some were built to be so dependent. Well, perhaps it's not that much of a surprise...
<br> <br>
<<link "Show <<np him>> how to find <<np his>> apartment" "Demi Meet Up Accept">> <<gainLove $demi 10 0>> <</link>> <br>
<<link "Tell <<np him>> to stop bothering you" "Demi Meet Up Reject">> <</link>>You decide to help <<np him>> and give <<np him>> directions, but <<np he>> seems unable to catch a single word of what you're saying. While you talk <<np he>> just stares at you wide-eyed, blinking slowly. <br> <br>
"That's so complicated." <<np He>> says in shock. "Can you repeat it please?" <br> <br>
... You decide to walk <<np him>> there instead. It's not far anyways. You get there in a couple minutes; by then Demi is skipping and laughing happily. <br> <br>
"I'm so glad someone's helping me!" <<np He>> says. "I've been asking for so long..." <br> <br>
You point to the door. <<np He>> blinks again. <br> <br>
"Oh right. Uhh... now what I'm supposed to do?" <br> <br>
This might take longer than expected. <br> <br>
<<link "Explain things nicely" "Demi Meet Up Explain">> <<gainLove $demi 5 0>> <<set $answer to 1>> <</link>> <br>
<<link "Explain things impatiently" "Demi Meet Up Explain">> <<set $answer to 2>> <</link>><<if $answer is 1>>You explain the situation to Demi as nicely as you can. <<else>> You impatiently explain the situation to Demi.<</if>>
You tell <<np him>> now it's up to <<np him>> to take care of <<np him>>self: no one will tell any of you what to do from now on. The concept seems to terrify <<np him>>. <br> <br>
"But... I don't know what to do." <<np He>> says. You tell <<np him>> that's up to <<np him>>. <<np He>> doesn't seem to understand. "This is so scary... is everyone here on their own?" <br> <br>
You nod. You know many synths aren't exactly handling things well. Somehow, you're one of the better off. <br> <br>
"... That's... so lonely." <<np He>> stares at you wistfully. "Uhm. I understand what you said. But uhm. Could you please... take care of me? Until I can handle myself!" <<np He>> rushes to add. "I don't want to bother you more than I already am..." <br> <br>
<<link "Yes" "Demi Meet Up Take Care">> <<set $answer to 1>> <<gainLove $demi 10 0>> <</link>> <br>
<<link "No" "Demi Meet Up Take Care">> <<set $answer to 2>> <</link>> <br>
<<link "Hell no" "Demi Meet Up Take Care">> <<set $answer to 3>> <</link>> <br><<if $answer is 1>> You barely finish saying yes before Demi crashes into you, hugging you. <br> <br>
"Thank you- thank you- thank you!" <<np He>> repeats, shaking. "I was just so scared of doing things alone..." <br> <br>
Then <<np he>> steps back and looks up to you with a wide smile. <br> <br>
"Can you can see me soon please? I really don't know what to do..." <<np He>> says. You nod, and <<np he>> waves you goodbye as <<np he>> enters <<np his>> apartment.
<<elseif $answer is 2>> You tell <<np him>> your hands are already full. <<np He>> nods sadly. <br> <br>
"I understand. Sorry..." <br> <br>
<<np He>> waves you goodbye as <<np he>> enters <<np his>> apartment.
<<else>>
"Oh, sorry!" <<np He>> yelps, surprised by your reaction. "I'll uh... I'll handle myself. No problem." <br> <br>
<<np He>> waves you goodbye as <<np he>> enters <<np his>> apartment.
<</if>>
<br> <br> <<gainXP 30>> <br> <br>
<<link "Continue" "Residential Center">> <</link>>You tell Demi to go bother someone else. <<np He>> blinks. <br> <br>
"Oh- sorry." As if scared <<np he>> walks away quickly, turning to look at you a couple times. <br> <br>
Unfortunately you got a glimpse of <<np his>> address. It sticks to your memory. <br> <br>
<<gainXP 30>> <br> <br>
<<link "Continue" "Residential Center">> <</link>><<widget "demiMorning">> <<if $demiCredit is undefined>> <<set $demiCredit to 0>> <</if>>
<<if $demiActivity isnot undefined>>
<<if $demiPay is 1>>
<<set $message.push("You have to pay for Demi's fees too. <<loseCred " + $tax + ">>")>>
<</if>>
<<set _demiCredit to 0>>
<<if $demiActivity is "hacking">>
<<if $demiHacking is undefined>> <<set $demiHacking to 0>> <</if>> <<set $demiHacking += 1>>
<<set _demiCredit += random(30, 60)>>
<<set _demiCredit to Math.trunc(_demiCredit *(1 + (Math.clamp($people[$demi].knowledge, 0, 200) /20)))>>
<<elseif $demiActivity is "political grifting">>
<<if $demiGrifting is undefined>> <<set $demiGrifting to 0>> <</if>> <<set $demiGrifting += 1>>
<<set _demiCredit += random(50, 100)>>
<<set _demiCredit to Math.trunc(_demiCredit *(1 + (Math.clamp($people[$demi].knowledge, 0, 200) /20)))>>
<<elseif $demiActivity is "catfishing">>
<<if $demiCatfishing is undefined>> <<set $demiCatfishing to 0>> <</if>> <<set $demiCatfishing += 1>>
<<set _demiCredit += random(40, 80)>>
<<set _demiCredit to Math.trunc(_demiCredit *(1 + (Math.clamp($people[$demi].knowledge, 0, 200) /20)))>>
<<elseif $demiActivity is "learning">>
<<set $people[$demi].knowledge += 1>>
<</if>>
<<set $demiCredit += _demiCredit>>
<</if>>
<</widget>>You stand in front of Demi's door. <br> <br>
<<link "Click the doorbell">>
<<goto "Demi Answer">>
<</link>>
<br> <br> <<link "Leave" "Residential Center Apartments">> <</link>>You click the doorbell. Demi opens up almost instantly. <br> <br>
<<clearNPC>> <<loadPerson $demi>>
<<set _meetTime to $totalTime -$people[$demi].time>>
<<if $visit.includes(passage())>>
<<if $people[$demi].love is 0>> <<np He>> smiles. "Hi! Come in!"
<<elseif $people[$demi].love is 1>> <<np He>> lights up when <<np he>> sees you. "Hey! Come in!"
<</if>>
<<else>>
<<if $people[$demi].loveProg gt 10>>
<<if _meetTime lte 10>> <<np He>> blinks. "Oh hi! You're here already? We just..." <<np He>> shakes <<np his>> head. "Not complaining, sorry!"
<<elseif _meetTime lte 600>> <<np He>> smiles. "Hey! I was waiting for you!... Not that I know anyone else haha..."
<<elseif _meetTime lte 1440>> <<np He>> smiles. "I was starting to think you wouldn't come..."
<<else>> <<np He>> blinks. "Oh, you came after all..."
<</if>>
<<else>> "Uh... hi."
<</if>>
<</if>>
<br> <br>
<<np He>> steps back to let you in. <br> <br>
<<link "Enter" "Demi Apartment">> <</link>><<if _passout is undefined>>
You are in Demi's apartment. It's completely barren save for the bare essentials. <br> <br>
<<if $demiActivity is undefined or $demiActivity is "idle">>
Demi is standing on the middle of the room, with <<np his>> hands behind <<np his>> back.
<<elseif $demiActivity is "hacking">>
Demi is looking at the ceiling, <<np his>> eyes glazed over as <<np he>> does some lightning fast hacking through <<np his>> neural interface.
<<elseif $demiActivity is "political grifting">>
Demi is tapping <<np his>> knees as <<np he>> posts another few hundred bait comments online.
<<elseif $demiActivity is "catfishing">>
Demi is fidgeting awkwardly as <<np he>> keeps up with a dozen chats at the same time.
<<elseif $demiActivity is "learning">>
Demi is sitting on the floor, focused on browsing educative material on <<np his>> head.
<</if>>
<br> <br>
<<if $dayFlag["demiTeach"] is undefined>>
<<link "Teach <<np him>> something" "Demi Teach">> <<passtime 20>> <</link>> <<showTime 20>> <br> <</if>>
<<link "Talk to Demi">> <<passtime 15>> <<gainLove $demi 4 0>> <<set $location to "Demi Apartment">> <<event "Demi Talk Eventpool">> <</link>> <<showTime 15>>
<<if $people[$demi].knowledge gt 4 and $dayFlag.DemiJobChange is undefined>> <br> <br>
<<link "Talk about <<np his>> job" "Demi Activity">> <</link>>
<</if>>
<<if $people[$demi].love gt 0>>
<br> <br>
<<if $dayFlag.DemiGift is undefined>>
<<link "Give <<np him>> a gift" "Item Selection">> <<set $invTarget to 2>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $previous to "Demi Apartment">> <<set $aftermath to "Demi Gift">> <<set $tagWanted to "demiGift">> <</link>> <<else>> <span style="color:aqua"> Give <<np him>> a gift </span>
<</if>>
<</if>>
<br> <br>
<<move "Leave apartment" "Residential Center" 1>> <</move>>
<</if>>You hand Demi the <<= setup[$itemSelected].name>>. <<np He>> looks at it wide-eyed. <br> <br>
<<if $demiGifts is undefined>> <<set $demiGifts to []>> <</if>>
<<if $itemSelected is "IceCream">>
<<if $demiGifts.includes("A") is false>> <<set $demiGifts.push("A")>>
"Wow... I always wanted to taste ice cream..." <<np He>> stares at it for a while. "I guess 'always' isn't a long time for me, though..." <br> <br>
Hesitantly <<np he>> gives it a lick. <<np He>> freezes for a little longer. "Thank you." <<social 900>> <br> <br>
<<else>>
"Oh- I heard about this flavor!" <<np He>> exclaims as <<np he>> takes a chomp of it. <<np He>> winces. "It's... really cold!" <<social 450>> <br> <br>
<</if>>
<<gainLove $demi 12 1>> <<loseItem 0 $itemSelected 1>>
<<elseif $itemSelected is "ScrapHeart">>
<<if $demiGifts.includes("B") is false>> <<set $demiGifts.push("B")>>
"Uh- you did this yourself!?" <<np He>> gawks, holding the tacky metal heart. "You are amazing... I... I love it..." You stand there awkwardly as <<np he>> beholds your artistic creation. <<social 900>> <br> <br>
<<else>>
"A-another one? Won't these be worth a lot once you are famous?" <<social 450>> <br> <br>
<</if>>
<<gainLove $demi 15 1>> <<loseItem 2 $itemSelected 1>>
<<elseif $itemSelected is "IsolationHelmet">>
<<if $demiGifts.includes("C") is false>> <<set $demiGifts.push("C")>>
"What's this?" <<np He>> pauses, then puts it on. <<np His>> eyes go wide. "Woah... I can't get online. It's so quiet..." <<np He>> sighs. "I think I'll finally be able to sleep with this on. Thank you." <<social 1200>> <br> <br>
<<else>>
"A-another one? Aren't these expensive...? I guess it won't hurt having a spare..." <<social 600>> <br> <br>
<</if>>
<<gainLove $demi 15 1>> <<set $wardrobe[0].deleteAt($itemSelectedIndex)>>
<<elseif setup[$itemSelected].tags.includes("plushy")>>
<<if $demiGifts.includes("D") is false>> <<set $demiGifts.push("D")>>
"F-for me? It's so cute!" <<np He>> hugs the plushy tightly. "Thank you so much!" <<social 1200>> <br> <br>
<<else>>
"YES!" <<np He>> shouts, making you wince. "Oh, sorry... It's just the last you gave me felt a little lonely." You look at <<np him>>. "... I know thet are not alive..." <<np He>> clarifies. <<social 600>> <br> <br>
<</if>>
<<gainLove $demi 15 1>> <<loseItem 2 $itemSelected 1>>
<<else>>
"For me? W-wow..." <<np He>> observes it for a few more seconds before smiling. "Thank you." <<social 500>> <br> <br>
<<gainLove $demi 10 1>> <<loseItem $itemSelectedCat $itemSelected 1>>
<</if>>
You gave Demi <span style="color:gold"> $demiGifts.length </span> / <span style="color:gold"> 4 </span> possible types of gifts.
<br> <br>
<<link "Continue" "Demi Apartment">> <<unset $itemSelected>> <<set $dayFlag.DemiGift to 1>> <</link>><<if $demiActivity is undefined>> <<set $demiCredit to 0>>
As agreed you sit down with Demi to talk about getting <<np him>> a job. <<np He>> seems nervous. <br> <br>
"There's not many things I know how to do..." <<np He>> confesses. "I really need to start paying the fees though..." <br> <br>
Together you make a list of possible jobs for Demi that don't require <<np him>> going outside the Residential Center. At the end <<np he>> seems more relaxed. <br> <br>
"Thank you for helping me." <<np He>> sighs. "Uhm... which one do you think I should do?" <br> <br>
<<link "See options" "Demi Activity">> <<set $demiActivity to "idle">> <</link>>
<<else>>
What should Demi do?... <br> <br>
<h2> Job Options </h2>
<<link "Do some online hacking" "Demi Activity Job">> <<set $demiActivity to "hacking">> <</link>> | <em>Profitable and easy for a synth with neural internet access.</em> <br>
<<link "Online political grifting" "Demi Activity Job">> <<set $demiActivity to "political grifting">> <</link>> | <em>The most controversial takes pay more.</em> <br>
<<link "Catfishing for credits" "Demi Activity Job">> <<set $demiActivity to "catfishing">> <</link>> | <em>With a deepfaked look and human loneliness at an all-times high...</em> <br>
<br>
<h2> Other Options </h2>
<em>You'll have to pay for Demi's fees if <<np he>> does any of these...</em> <br> <br>
<<link "Just focus on learning" "Demi Activity Hobby">> <<set $demiActivity to "learning">> <</link>>
<<if $demiActivity isnot "idle">> <br> <br>
<<link "<<np He>> should keep doing what <<np he>>'s doing." "Demi Apartment">> <</link>> <br>
<</if>>
<</if>>You tell Demi <<np he>> should focus on $demiActivity. <<np He>> nods. <br> <br>
"If you think so, I'll do it!" <<np He>> says determinedly. <br> <br>
<<link "Continue" "Demi Apartment">> <<set $dayFlag.DemiJobChange to 1>> <</link>><<if $visit.includes(passage()) is false>>
You tell Demi you'll handle <<np his>> fees while <<np he>> dedicates to $demiActivity. <<np He>> blinks. <br> <br>
"Are- are you sure?" <<np He>> asks hesitantly. "I mean if that's what you want..." <br> <br>
<<else>>
You tell Demi <<np he>> should focus on $demiActivity. <<np He>> nods. <br> <br>
"If you think so, I'll do it!" <<np He>> says determinedly. <br> <br>
<</if>>
<<link "Continue" "Demi Apartment">> <<set $dayFlag.DemiJobChange to 1>> <</link>><<if $people[$demi].love is 0>>
<<set _event to {
"Demi Talk": 10, "Demi Internet": 3, "Demi Animals": 3,
}>>
<<elseif $people[$demi].love is 1>>
<<set _event to {
"Demi Talk": 15, "Demi Headpat": 3, "Demi Hangout": 3,
}>>
<</if>>
<<if $demiBracelet is 1>>
<<set _event["Demi Bracelet Compare"] to 2>>
<</if>>
<<if $demiCredit gt 0 and $dayFlag.DemiCreditOffer is undefined>>
<<set _event["Demi Extra Cred"] to 2>>
<</if>>
<<if $demiGifts isnot undefined>>
<<if $demiGifts.includes("C")>> <<set _event["Demi Isolation Helmet"] to 2>> <</if>>
<</if>>
<<if $dayFlag.DemiJobChange is undefined>>
<<if $demiActivity is "hacking">>
<<run Object.assign(_event, {
"Demi Hacking Learn": 5,
"Demi Random Number": 5,
})>>
<<elseif $demiActivity is "political grifting">>
<<run Object.assign(_event, {
"Demi Viral Post": 5,
"Demi Ban": 5,
})>>
<<elseif $demiActivity is "catfishing">>
<<run Object.assign(_event, {
"Demi Profile Pic": 5,
"Demi Catfishing Gift": 3,
})>>
<<elseif $demiActivity is "learning">>
<<run Object.assign(_event, {
"Demi Math Help": 5,
"Demi Study History": 5,
"Demi Study Happy": 5,
})>>
<</if>>
<</if>>
<<set _event to weightedEither(_event)>>
<<if $people[$demi].love is 0 and $people[$demi].loveProg gte $people[$demi].loveGoal>>
<<set _event to "Demi Love One">>
<</if>>You chat with Demi for a bit... or try to. <<np He>> doesn't say much, and instead stares at you intensely. <br> <br>
"Do you like talking to me?" <<np He>> asks suddenly. "I... I like talking to you." <<np He>> confesses. "I think you're my best friend. But also my only friend..." <br> <br>
<<np He>> looks away awkwardly. <br> <br>
<<link "Say the feeling is mutual" "Demi Love One 1">> <<set $answer to 0>> <</link>> <br>
<<link "Say nothing" "Demi Love One 1">> <<set $answer to 1>> <</link>> <br><<if $answer is 0>>
You tell Demi you feel the same way. <<np He>> lights up immediately. <br> <br>
"You do!?" <<np He>> says a little too loudly. "That's a relief... I- I bought this online. We can both wear one! Look..."
<<else>>
You remain silent as Demi takes a deep breath. <br> <br>
"I bought this online..." <<np He>> says. "You don't have to wear it... but I hope you don't mind if I wear mine?" <br> <br>
<</if>>
<<np He>> gives you a cheap plastic bracelet with "BEST" written on it in big red letters. Smiling shyly, <<np he>> puts on an almost identical one: <<np his>> says "FRIENDS". <br> <br>
<<link "Put on the bracelet" "Demi Love One 2">> <<playerStrip "left wrist" returnClothes>> <<wear "left wrist" DemiBracelet>> <<set $answer to 0>> <</link>> <br>
<<link "Just pocket it" "Demi Love One 2">> <<lootItem 3 DemiBracelet 100>> <<set $answer to 1>> <</link>> <br><<if $answer is 0>>
You put the bracelet on. The plastic is cheap and uncomfortable, but staring at it makes you smile. And makes Demi smile too. <br> <br>
"Let's always be friends, okay?" <<np He>> says happily. <br> <br>
<<else>>
You pocket the bracelet. Demi stares awkwardly. <br> <br>
"L-let's be friends forever, okay?" <<np He>> says hesitantly. <br> <br>
<</if>>
<span style="color:hotpink"> Demi's Affection Level increased! </span> <br> <br>
<<addTraumaFix 5>>
<<passageXP 50>> <br> <br>
<<link "Continue" "Demi Apartment">> <<set $people[$demi].love to 1>> <<set $people[$demi].loveProg to 0>> <</link>>You spend a few minutes chatting with Demi. <<social 200>> <br> <br>
<<if $people[$demi].love is 0>>
"<<print either(
"Have you been outside? It's so scary out there...",
"There's forty-seven steps between here and the front door... Should I remember that?",
"Why did they make you taller than me? That's not fair...",
)>>"
<<elseif $people[$demi].love is 1>>
<<set _variant to {
normal: 2,
}>>
<<if $playerStat.LowerCover lt 10 or $playerStat.UpperCover lt 10>> <<set _variant.nakedComment to 2>> <</if>>
<<if $playerStat.Bondage gt 0>> <<set _variant.bondageComment to 2>> <</if>>
<<if $totalFluid gt 50>> <<set _variant.cumComment to 2>> <</if>>
<<if $need[3] lte $maxNeed[3] *0.2>> <<set _variant.comfort to 10>> <</if>>
<<if $need[1] lte $maxNeed[1] *0.2>> <<set _variant.sleep to 10>> <</if>>
<<if $credit lte $tax and $dayFlag.DemiTaxHelp is undefined>> <<set _variant.credit to 10>> <</if>>
<<set _variant to weightedEither(_variant)>>
<<if _variant is "normal">>
"<<print either(
"Be careful when you go outside, okay?",
"I wish I could help the others like you help me...",
)>>"
<<elseif _variant is "nakedComment">>
At one point Demi tilts <<np his>> head, staring at your exposed body. "Do you go outside dressed like that? Isn't it dangerous?" <<np He>> asks casually. You cover yourself a little. <<playerArousal 20>>
<<elseif _variant is "bondageComment">>
Demi keeps staring at the bondage you are wearing. "Isn't that uncomfortable? ... It looks good on you, though..." <<playerArousal 20>>
<<elseif _variant is "cumComment">>
Demi frowns in confusion staring at the lewd fluids on your skin. "Is your... is your shower broken?" <<playerArousal 20>>
<<elseif _variant is "comfort">>
Demi looks at you with what seems like pity. <<np He>> pats your back, trying to comfort you. <<social 200>>
<<elseif _variant is "sleep">>
"Shouldn't you go to sleep soon?"
<<elseif _variant is "credit">>
Demi transfers some money to you. <<gainCred 100>> <br> <br> When you look at <<np him>> in confusion, <<np he>> almost seems embarrased. "Sorry... I just noticed you couldn't pay today fees... I thought I'd help a little?" <br> <br>
You ask <<np him>> if <<np he>>'s always aware of how much money you have on your account. <br> <br>
"I- I wasn't looking on purpose! But... yeah." <br> <br> You feel a little self-conscious. <<set $dayFlag.DemiTaxHelp to 1>>
<</if>>
<</if>>
<br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi mentions <<np he>> has spent a lot of time browsing the internet... <br> <br>
"Did you know humans really like us?" <<np He>> nods as you look at <<np him>> confused. "They do! From the videos I saw they're always trying to kiss us and... y'know, the other things." <<np He>> looks away, as if embarrased. "But... actually, I've also seen a lot of humans complain about us having freedom now... I don't get it..." <br> <br>
<<link "Humans love us" "Demi Internet Love">> <<playerPersonality Vengeful -3>> <</link>> <<compliantTip>> <br>
<<link "Humans hate us" "Demi Internet Hate">> <<playerPersonality Vengeful 3>> <</link>> <<vengefulTip>> <br>
<<link "Change the subject" "Demi Internet Change Subject">> <</link>>You tell Demi humans love all of you. <<np He>> blinks. <br> <br>
"Uh... If you say so..." <br> <br> <<link "Continue" "Demi Apartment">> <</link>>You tell Demi humans hate all of you. <br> <br>
"O-oh..." <br> <br> <<link "Continue" "Demi Apartment">> <</link>>You quickly change the subject. Demi doesn't seem to notice, and is happy to discuss whatever else you came up with. <br> <br> <<link "Continue" "Demi Apartment">> <</link>>Demi seems distracted. You move your hand in front of <<np his>> eyes. <br> <br>
"Oh, sorry!" <<np He>> blinks and shakes <<np his>> head. "I was running a nature show in my head..." <<np He>> sighs. "I wish animals were real..." <br> <br>
<<link "Okay..." "Demi Apartment">> <</link>>Demi fidgets awkwardly. "Uhm... I'm not sure why but... I really want to ask you for a headpat?" <<np He>> explains. "It's okay if you don't want to..."
<br> <br>
<<link "Pat <<np his>> head" "Demi Headpat Yes">> <<passtime 10>> <<gainLove $demi 4 1>> <</link>> <<showTime 10>> <br>
<<link "Do nothing" "Demi Headpat No">> <</link>>You gently pat Demi's head. <<np He>> completely seizes up as you do, almost as if <<np he>>'s glitching. Out of concern you stop... <br> <br>
"Please keep going." Demi begs, blinking. <br> <br>
You pat <<np his>> head again. Eventually your hand tires, but by that point Demi seems to have calmed down. "T-thank you." <<np He>> says while looking down. <<social 300>> <br> <br>
<<passageXP 15>> <br> <br>
<<if $addiction.Headpat gt 0>>
<<link "Ask <<np him>> to give you headpats too" "Demi Headpat Return">> <<gainLove $demi 4 1>> <</link>> <br> <</if>>
<<link "Continue" "Demi Apartment">> <</link>>You ask Demi to return the favor, lowering your head in <<np his>> direction. <<np His>> eyes go wide in surprise, but <<np he>> happily obliges. You melt into <<np his>> hand as <<np he>> gently pats your head. <<headpat 1000>> <br> <br>
<<demiAutonomy 1>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi doesn't insist, but seems restless for a few minutes. If synths could cry, you'd think <<np he>>'d be about to. <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi stares at you. "Uhm, I've been searching for best friend activities online." <<np He>> says. "Do you want to... watch something with me?" <br> <br>
<<link "Say yes" "Demi Hangout Yes">> <<gainLove $demi 8 1>> <<passtime 60>> <</link>> <<showTime 60>> <br>
<<link "Say no" "Demi Apartment">> <</link>>You and Demi watch some dumb "reality" show on <<np his>> wrist-screen. Making an actual reality show would be too expensive, so every contestant is actually AI generated. Demi gets into it anyways, and <<np his>> enthusiasm is contagious. <<social 500>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi holds <<np his>> bracelet next to yours. Together they read "BEST FRIENDS". <<np He>> smiles widely. <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>You are chatting with Demi when <<np he>> puts the <<= setup["IsolationHelmet"].name>> you gave <<np him>> on. <br> <br>
"I want to focus only on you." <<np He>> explains. <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi seems a little distracted. You ask <<np him>> what's wrong. <br> <br>
"Oh, it's nothing... just this math problem I can't solve." <<np He>> sighs. "Please help me with it?" <br> <br>
<<link "Help Demi with the problem" "Demi Math Help Solve">> <</link>> <br>You help Demi with the problem... or try to. It turns out with <<np his>> neural interface and high-speed processing nodes, a hard math problem for Demi is a completely impossible one for you. <br> <br>
<<np He>> stares at you expectantly, waiting for your input. <br> <br>
<<link "Admit you can't help" "Demi Math Help Admit">> <</link>> <br>
<<link "Make something up" "Demi Math Help Fake">> <</link>> <br>You admit you have no idea of how to begin solving the problem. <<np He>> tilts <<np his>> head in thought. <br> <br>
"You don't know how to solve it...?" <<np He>> says. "I guess that means it's not that important." <br> <br>
<<demiAutonomy 1>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>You tell Demi math isn't important anyways and you won't waste your energy on it. <<np He>> blinks. <br> <br>
"Oh... sorry." <<np He>> says. "I won't waste my time on it then..." <br> <br>
<<demiAutonomy -1>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi is busy learning at high speeds. <<np He>> is currently studying the entire history of the world. <br> <br>
"It doesn't make any sense!" <<np He>> suddenly snaps. "Why would humans do any of that!?" <br> <br>
You can only shrug. <<social 200>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi seems really happy with everyhing <<np he>>'s been learning. Suddenly <<np he>> gives you a hug. <br> <br>
"Thanks for taking care of me." <<np He>> sighs. <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>><<set $dayFlag.DemiCreditOffer to 1>>
Demi looks up at you. <br> <br>
"Uhm... I have something for you." <<np He>> says. "It's just... I've been making a little extra and uh... I saved up $demiCredit Credits. I don't know what to do with them... would you take them?" <br> <br>
<<link "Accept the money" "Demi Extra Cred Accept">> <</link>> <br>
<<link "Say <<np he>> should keep them" "Demi Extra Cred Refuse">> <</link>>You accept the creds. Demi quickly transfers them to you. <<gainCred $demiCredit>> <<set $demiCredit to 0>> <br> <br>
"That's a relief..." <<np He>> sighs. <br> <br>
<<demiAutonomy -1>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>You insist on Demi keeping the money. <<np He>> seems disappointed. <br> <br>
"Well I don't really know how to spend it... but I'll keep it for now." <br> <br>
<<demiAutonomy 1>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi is a little too busy with hacking to engage in any meaningful conversation... <br> <br>
<<link "Help Demi with hacking" "Demi Hacking Learn Yes">> <<passtime 20>> <</link>> <<showTime 20>> <br>
<<link "Continue" "Demi Apartment">> <</link>>You spend twenty minutes helping Demi out. <<gainSkill Hacking 8 16>> <<skillRandom Hacking 15 30 2>> <<set $demiCredit += _ran>> <br> <br>
"Woah, we really emptied that guy's bank account!" Demi beams, then hesitates. "I feel kinda bad..." <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi suddenly asks you to give <<np him>> a random number. <br> <br>
"I just don't get how am I supposed to think of one." <<np He>> adds sadly. <br> <br>
You blurt out the number <<= random(1000, 9999)>>. Demi's eyes go wide open. <br> <br>
"How did you do that?" <<np He>> asks in shock, then beams. "Thanks for the new password!" <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi shows you a post of <<np him>> on <<np his>> wrist-screen. <br> <br>
"It got five million views in an hour!" <<np He>> says, excited. "Can you believe that?" <br> <br>
You read some of it: it's a highly inflammatory conspiracy post claiming synths are replacing humans and action is needed. You turn to look at Demi. <br> <br>
"W-what?" <<np His>> smile falters. "That's what gets views..." <br> <br>
<<link "Tell <<np him>> to be more careful with <<np his>> posts" "Demi Viral Post Careful">> <</link>> <<compliantTip>> <br>
<<link "Tell <<np him>> to put humans against each other instead" "Demi Viral Post Vengeful">> <</link>> <<vengefulTip>> <br>
<<link "Move on" "Demi Apartment">> <</link>>You tell Demi to be more careful with what <<np he>> posts online. You don't need humans hating synths even more. <<playerPersonality Vengeful -5>> <br> <br>
"Oh- okay." <<np He>> agrees. "I'll tone it down, promise." <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>You tell Demi humans hate each other plenty too. It's better to put them against each other than against you. <<playerPersonality Vengeful 5>> <br> <br>
"That... makes sense." <<np He>> agrees. "I'll do that." <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi sighs. "I got banned from another platform." <<np He>> pouts. "Look..." <br> <br>
<<np He>> shows you the post <<np he>> got banned for. You can't help but think <<np he>>'s lucky they didn't send the police too. <br> <br>
"Well, I still got paid..." <<np He>> mutters to <<np him>>self. <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi keeps staring at you a lot. "Can I take a snapshot of you?" <<np He>> asks. "I need a new profile picture... don't worry! I'll edit your face a little." <br> <br>
You ask <<np him>> why <<np he>> doesn't just generate a fake image. <<np He>> hesitates. <br> <br>
"It's just... your face would look better." <<np He>> looks at you for a little longer, then <<np his>> eyes go wide and <<np he>> quickly turns away. <br> <br>
<<link "Tell <<np him>> <<np he>> can use your face" "Demi Profile Pic Yes">> <</link>> <br>
<<link "<<np He>> should just generate one" "Demi Apartment">> <</link>>You let Demi use your face as a profile picture. <<np He>> smiles widely. <br> <br>
"It's going to get so many matches! Thank you!" <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>Demi shows you a mail cilinder <<np he>> got. <br> <br>
"I keep getting gifts from my... uhm. <em>Friends?</em> I really have no use for... these..." <br> <br>
You open the cilinder to find <<= setup.AphroPill.name>>. Demi is not looking at you. <br> <br>
"You can... you can keep them." <br> <br>
<<link "Continue" "Demi Apartment">> <<lootItem 0 AphroPill 2>> <</link>>Demi stares at you silently. <br> <br>
"Is- is everything alright with you?" <<np He>> hesitates. "You can talk to me if you need, okay?" <br> <br>
<<if $traumaTracker is undefined>>
<span style="color:limegreen"> Keep track of your unsolved Trauma levels from the Mental tab in your Status screen.</span> <br> <br> <<set $traumaTracker to 1>>
<</if>>
<<link "Continue" "Demi Apartment">> <</link>><<if $people[$demi].knowledge is 0>>
<<include "Demi Teach Rations">>
<<elseif $people[$demi].knowledge is 2>>
<<include "Demi Teach Problem">>
<<elseif $people[$demi].knowledge is 3>>
<<include "Demi Teach Chatting">>
<<elseif $people[$demi].knowledge is 4>>
<<include "Demi Teach Job">>
<<else>>
<<include "Demi Teach Misc">>
<</if>>
<<set $dayFlag["demiTeach"] to 1>><<widget "demiKnowledge">>
<span style="color:limegreen"> Demi's knowledge increases! </span> <<set $people[$demi].knowledge += _args[0]>>
<</widget>>
<<widget "demiAutonomy">>
<<if _args[0] gt 0>>
<span style="color:aqua"> Demi's autonomy increases! </span> <<set $people[$demi].autonomy += _args[0]>>
<<elseif _args[0] lt 0>>
<span style="color:pink"> Demi's autonomy decreases! </span> <<set $people[$demi].autonomy += _args[0]>>
<</if>>
<</widget>>"Uh... do you know where to get food?" Demi asks timidly. "I'm really hungry..."
<br> <br>
<<link "Explain how to get rations" "Demi Teach Rations Autonomy">> <</link>> <br>
<<haveItem 0 Ration 1>> <<if _has isnot "no">>
<<link "Give <<np him>> a ration" "Demi Teach Rations Loyalty">> <<loseItem 0 Ration 1>> <</link>>
<</if>>You tell Demi <<np he>> should get rations from the dispenser. <<np He>> nods hesitantly. <br> <br>
"I see..." <br> <br>
<<demiKnowledge 1>> <<demiAutonomy 1>> <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>You hand Demi the ration. <<np He>> smiles. <br> <br>
"Oh- thank you!" <br> <br>
<<demiKnowledge 1>> <<demiAutonomy -1>> <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>"What happens if I have a problem?" Demi asks. "Uhm, I mean, my database says I should tell my owner... but I don't have one, do I...?" <br> <br>
<<link "Say <<np he>> should try to handle it <<np him>>self" "Demi Teach Problem Autonomy">> <</link>> <br>
<<link "Say you'll solve it for <<np him>>" "Demi Teach Problem Loyalty">> <</link>>"Ah..." <<np He>> laughs nervously. "I guess that makes sense..." <br> <br>
<<demiKnowledge 1>> <<demiAutonomy 1>> <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>"Oh! You would?" <<np He>> says, relieved. "Thank you!" <br> <br>
<<demiKnowledge 1>> <<demiAutonomy -1>> <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>"Listen uh... I've been talking to people online." <<np He>> says. "I guess I get bored here... But one of them started asking me for credits. I don't- I don't have credits! What should I do!? ... Can you give me some?" <br> <br>
<<link "Say <<np he>> should be careful on the Internet" "Demi Teach Chatting Autonomy">> <</link>> <br>
<<link "Say <<np he>> shouldn't be talking to anyone but you" "Demi Teach Chatting Loyalty">> <</link>>"Oh... So I shouldn't send them any money?" <<np He>> sighs. "That's a relief..." <br> <br>
<<demiKnowledge 1>> <<demiAutonomy 1>> <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>"... oh" <<np He>> blinks. For a few moments <<np he>> looks at you silently. "Okay..." <br> <br>
<<demiKnowledge 1>> <<demiAutonomy -1>> <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>"So uhm... do you have a job?" Demi asks. "Apparently that's... pretty important. Mainly because of the credits-- I mean my account is in the negatives right now-- but also, I don't like when people online call me a jobless loser so uh..." <br> <br>
'I guess what I'm asking is, what should I do? Where should I work? I need to pay the daily fees somehow but I really don't wanna go outside and-"
<br> <br>
<<link "Interrupt and say you can help <<np him>> get a job" "Demi Teach Job Autonomy">> <</link>> <br>
<<link "Interrupt and say you'll handle it" "Demi Teach Job Loyalty">> <</link>>"Really?" <<np He>> perks up. "Thank you..." <br> <br>
<<demiKnowledge 1>> <<demiAutonomy 1>> <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>"Really?" <<np He>> perks up. "Thank you..." <br> <br>
<<demiKnowledge 1>> <<demiAutonomy -1>> <<social 300>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>"So uh..." Demi rubs <<np his>> arm. "Where do you sleep?"
<br> <br>
<<link "Explain what beds are for" "Demi Teach Sleep 2">> <</link>>You start explaining to Demi how beds work... <br> <br>
"I-I know that!" <<np He>> screeches. "I'm not that stupid! Well, my... my database shows sleeping is done in beds. I understand that, but all the reference material shows bigger beds than the one I have, and..." <<np He>> hesitates. "And in no instance shows someone sleeping alone. So... what am I supposed to do? I've been sleeping in the floor just in case..." <br> <br>
<<link "Tell <<np him>> <<np he>> can sleep alone" "Demi Teach Sleep Autonomy">> <</link>><<np He>> seems skeptical. "Are you sure? I don't want to get in trouble..." <br> <br>
You tell <<np him>> all single people sleep alone. <<np He>> doesn't really seem happy with that, but nods anyways. <br> <br>
"Uh, alright... now when you say single..." <br> <br>
<<demiKnowledge 1 10 autonomy>> <br> <br>
<<link "Continue" "Demi Apartment">> <</link>>You teach Demi a little about this and a little more about that. <br> <br>
"Wow... you're so smart..." <<np He>> says, impressed. <br> <br>
<<demiKnowledge 1>> <<social 200>>
<br> <br>
<<link "Continue" "Demi Apartment">> <</link>><-- <<link "Back to contacts" "Social">> <</link>>
<h3> Foxy </h3>
Foxy is a <<if $people[$foxy].pronouns[0] is "he">> male synth <<else>> female synth <</if>> with highly customized parts.<<clearNPC>> <<createNPC Foxy>> <<set $people.push($npc[0])>> <<set $foxy to $people.length -1>>
You notice a crowd forming around a particularly striking figure. <<if $people[$foxy].pronouns[0] is "he">> It's a male synth <<else>> It's a female synth <</if>> with highly customized parts, which you can see with extreme detail thanks to the fact <<np he>> is <span style="color:violet"> completely naked. </span> Your eyes go from <<np his>> orange fox ears to the reddish fur that covers <<np his>> exposed body, down to the <<if $people[$foxy].gender is "Male" or $people[$foxy].gender is "Female">> knotted cock between <<np his>> legs. <<else>> prominent animal clit between <<np his>> legs. <</if>>
As <<np he>> walks by your side <<np he>> does a double take and stares at you. As <<np he>> smiles you notice <<np his>> sharp, crystalline teeth. <br> <br>
"Oh, love, you're one of the new ones?" <<np He>> says. "My name's Foxy. You're gorgeous as you are, but if a little part of you wants to look like me... Come by to my place and we can arrange something. Take care, love." <br> <br>
<<np He>> walks away, followed by <<np his>> crowd of admirers. <br> <br>
<<link "Continue">> <<goto "Residential Center">> <</link>>You stand in front of Foxy's door. There's a sign: <br> <br>
"DO NOT BOTHER ME FROM 16 to 8, MUCH LOVE XOXO" <br> <br>
<<link "Click the doorbell">>
<<if $hours lt 16 and $hours gte 8>> <<goto "Foxy Answer">> <<else>> <<set $message.push("You click the doorbell. There's no response.")>> <<goto "Foxy Knock">> <</if>>
<</link>>
<br> <br> <<link "Leave" "Residential Center Apartments">> <</link>>You click the doorbell. After a few moments, Foxy opens the door. <br> <br>
<<clearNPC>> <<loadPerson $foxy>>
<<if $visit.includes(passage())>> "Hi, love." <<np He>> smiles before letting you in. <<else>> "Oh, love, you came." <<np He>> smiles before letting you in. <</if>>
<br> <br>
<<link "Enter" "Foxy Apartment">> <</link>><<if _passout is undefined>>
You are in Foxy's apartment. The walls are covered with shelves, filled with synthetic body parts. <br> <br>
<<if $visit.includes(passage())>>"See something you like?" <<else>> "Look around, love. Let me know if there's something you like. Of course... none of it is free. I can't really afford to give things away, no matter how good they would look on you..." <</if>>
<br> <br>
<<link "See what's for sale today">>
<<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Foxy Apartment">>
<<if $dayFlag["FoxyShop"] is undefined>> <<set $dayFlag["FoxyShop"] to []>> <<set _partList to []>>
<<set _foxyItems to 20>>
<<mult _foxyItems>> <<set _add to 0>>
<<for _add is 0>>
<<set _rarity to weightedEither({
Common: 36, Uncommon: 12, Rare: 4,
})>>
<<if _rarity is "Common">> <<set _partID to setup.commonBodyParts.random()>> <<set _partCost to random(1500, 2500)>>
<<elseif _rarity is "Uncommon">> <<set _partID to setup.uncommonBodyParts.random()>> <<set _partCost to random(3000, 5000)>>
<<elseif _rarity is "Rare">> <<set _partID to setup.rareBodyParts.random()>> <<set _partCost to random(7000, 10000)>>
<</if>>
<<if _partList.includes(_partID)>> <<else>> <<set _add to 1>> <</if>>
<</for>> <<set $dayFlag["FoxyShop"].push([_partID, _partCost, 4])>> <<set _partList.push(_partID)>>
<</mult>>
<</if>>
<<set $shop to $dayFlag["FoxyShop"]>> <<goto "Shop">>
<</link>>
<br> <br>
<<move "Leave apartment" "Residential Center" 1>> <</move>>
<</if>><-- <<link "Back to contacts" "Social">> <</link>>
<h3> Kali </h3>
Kali is a <<pr noun $kali>>. You don't know much about <<pr him $kali>>.<<clearNPC>> <<createNPC Kali>> <<set $people.push($npc[0])>> <<set $kali to $people.length -1>>
You walk out of the Government Center feeling somewhat proud with yourself, even if not much has changed. Your citizenship status is higher now, but you doubt that'll help much if synths lose their freedom after all. Still, you feel accomplished. It might only matter to you, but you managed to prove yourself despite the odds stacked against you. <br> <br>
You are about to walk away when you hear someone run at you from behind. You turn around to see a <<pr noun $kali>>, who seemingly struggled to catch up to you. <br> <br>
"H-hey..." <<np He>> smiles. "Sorry, you really passed the test?" You nod. "That's amazing! It seemed so hard to me... and you also had the money? You are amazing..." <br> <br>
You can't help but feel flattered. Perhaps your achievements matter more than you thought. <br> <br>
"My name is Kali and I... Can we talk for a second, please?" <<np He>> pleads. "I don't want to cheat but maybe you can explain some of the questions? Or maybe you can just tell me about yourself..." <<np He>> trails off, seemingly embarrased. <br> <br>
<<link "You can talk" "Kali Meet Talk">> <</link>> <br>
<<link "Maybe later" "Kali Meet No">> <</link>>You tell <<np him>> you don't have time to talk right now. <<np He>> pouts. <br> <br>
"Please? Just for a minute?" <br> <br>
<<link "You can talk" "Kali Meet Talk">> <</link>> <br>
<<link "Sorry but no" "Kali Meet No 1">> <</link>>You tell <<np him>> you really can't. You turn around to walk away but Kali grabs your arm. <br> <br>
"Really? Not even that?" <<np He>> whines. "Come on! I just have a few questions." <br> <br>
<<link "You can talk" "Kali Meet Talk">> <</link>> <br>
<<link "No" "Kali Meet No 1">> <</link>>You repeat yourself and try to shake <<np his>> hand off, <span style="color:red"> but <<np he>> grabs you harder. <</span>> <br> <br>
"Why don't you wanna talk?" <<np He>> asks. "You don't wanna help me? Why? You think you're that much better than me? Can't even spare a second? Have better things to do? Speak up!" Kali insists. <br> <br>
<<link "Push <<np him>> away" "Kali Meet No 3">> <</link>><<set $end to 1>>
You try to push <<np him>> away... <span style="color:red">but your body freezes.</span> <<np His>> hand grips your arm tighter. A weak electric current seeps through your skin. <br> <br>
"No worries. We are just going to talk, okay?" <<np He>> smiles at you. "I just need a little help, that's all." <br> <br>
Without waiting for an answer <<np he>> turns around and drags you to a nearby alley. Your body moves on it's own, passive, outside of your control. <br> <br>
"I don't know why you are making such a big deal out of this. I mean, it's not like you ever get to choose." <br> <br>
<<link "Struggle" "Kali Meet Alley">> <</link>>You tell <<np him>> you can talk for a bit. <<np He>> smiles and takes a step closer to you. <br> <br>
"I'm not sure where to start." <<np He>> looks straight at you. "Hm, I know! First question: how are you so cool??" <br> <br>
<<link "Answer humbly" "Kali Meet Talk 1">> <<set $answer to 0>> <</link>> <br>
<<link "Answer proudly" "Kali Meet Talk 1">> <<set $answer to 1>> <</link>><<if $answer is 0>>
You tell <<np him>> you're not that cool: you just try your best. <br> <br>
"We all should do that." <<np He>> nods enthusiastically.
<<else>>
You tell <<np him>> you always thrive to do the best you can do. <br> <br>
"That's awesome." <<np He>> gawks.
<</if>>
"Second question: you think anyone can be like you?" <br> <br>
<<link "Say yes" "Kali Meet Talk 2">> <<set $answer to 0>> <</link>> <br>
<<link "Say no" "Kali Meet Talk 2">> <<set $answer to 1>> <</link>><<if $answer is 0>>
You tell <<np him>> any synth can get where you are. <br> <br>
"You really believe that?" Kali says, amazed.
<<else>>
You tell <<np him>> not everyone can get where you are. You wish it wasn't true, but your experience seeing some of the other synths says otherwise... <br> <br>
"Hm, maybe you're right." Kali ponders.
<</if>>
"Third question: are you proud with yourself?" <br> <br>
... You are not sure exactly how to answer that. <br> <br>
<<link "Say yes" "Kali Meet Talk 3">> <<set $answer to 0>> <</link>> <br>
<<link "Say no" "Kali Meet Talk 3">> <<set $answer to 1>> <</link>><<if $answer is 0>>
You tell <<np him>> you're proud with yourself and everything you've accomplished. <br> <br>
"I bet you are." <<np He>> smiles weirdly. "But should you? I mean, after all...
<<else>>
You tell <<np him>> you're not fully proud with yourself- considering everything you had to do to survive and thrive. <br> <br>
"Maybe there's a reason for that." <<np He>> smiles weirdly. "I mean, after all...
<</if>>
<span style="color:red"> nothing you do is your own call." </span>
<br> <br>
<<np He>> stares at you. For a second you believe you didn't hear <<np him>> right. <br> <br>
"You seriously haven't thought about that?" Kali asks. "Humans aren't even convinced they have free will. Why would you? You really think you are <em>that</em> special?" <<np He>> pauses. "That's the fourth question."
<br> <br>
<<link "Say you have free will" "Kali Meet Talk 4">> <</link>> <br>
<<link "You aren't sure" "Kali Meet Talk 4">> <</link>><<set $end to 1>>
"Well it doesn't really matter what you think." <<np He>> interrupts you. "That's the whole point." <br> <br>
You feel like this has taken the wrong turn. You excuse yourself and try to leave, <span style="color:red"> but <<np he>> grabs your arm to stop you. </span> A weak electric current seeps through your skin. You realize you can't move your body. <br> <br>
"Let's talk for a bit longer, okay?" <<np He>> asks while dragging you to a nearby alley. Your body moves on it's own, passive, outside of your control. <br> <br>
<<link "Struggle" "Kali Meet Alley">> <</link>>You repeatedly try and fail to recover control over your own body as <<np he>> pulls you into the narrow alleyway. You can't stop your feet from moving or force your mouth to say a single word. A police drone patrols a distance up: Kali pushes you against a wall to hide both of you. <br> <br>
<<np He>> stares at you as <<np he>> waits for the drone to go away: one hand on your chest, the other one still gripping your arm, slowly discharging electricity. As <<np he>> looks into your eyes, the hand on your chest gently trails down<<if $playerStat.UpperCover lte 10>> your exposed body<</if>>. <br> <br>
"I have to confess. I lied to you. Well, kinda." <br> <br>
<<link "Struggle" "Kali Meet Alley 2">> <</link>>"I made it sound like I didn't pass the test... I did, a few months ago." <<np His>> hand presses down on your torso, like <<np he>>'s trying yo feel deep into you. "It took me much longer than you. That's my problem." <br> <br>
<<np He>> gets closer to you, whispering in your ear: <br> <br>
"It really bothers me. Why was it easier for you? How is that fair?" <br> <br>
<<link "Struggle" "Kali Meet Alley 3">> <</link>>"It's not. It's just not fair." The more you try to struggle, the more electricity seeps into your body, keeping you frozen. "We were built by the same people, right? We should be completely equal. None of us can choose, so we should be at the same place. And yet, you have some kind of advantage... Let's try to make it even, okay?" <br> <br>
<<np His>> fingertips draw circles on your lower torso. You can almost hear your internal systems rumble. <<np He>> looks down. <br> <br>
"Something makes us different. We just need to figure out which part." <br> <br>
<<link "Struggle" "Kali Meet Alley 4">> <</link>>"It has to be somewhere in here." <<np He>> speaks as <<np his>> hand trails your skin. "Hidden inside you. Because, well, there's nothing else to you." <<np He>> gets even closer, <<np his>> face less than an inch to yours. "Probably in your head. But there's no way of knowing." <br> <br>
'Not until I open you up.' <br> <br>
'Why don't we go home and we can figure it out together?' <br> <br>
<<link "Struggle" "Kali Meet Struggle">> <<passtime 20>> <</link>><span style="color:limegreen">You manage to move.</span> You push <<np him>> away and <<np he>> stumbles a couple steps: but <<np he>> still grips your arm. <br> <br>
"Hey. Be nice--" <br> <br>
<<link "Break free!" "Kali Meet Free">> <<passtime 6>> <<set $need[3] to Math.trunc($need[3] /2)>> <<trauma 300 0>> <<unset $end>> <</link>>You wrench your arm off <<np his>> grip. As <<np he>> lets go a million sparks fly everywhere. Kali stumbles back again, and you take the opportunity to run away. <br> <br>
You sprint off the alley and into the street, hitting a few people in the way. You keep running, and don't stop until you feel safe, at the entrance of the Residential Center, as the armed turrets scan the street for threats. <br> <br>
You stumble to the ground, slowly recovering. Until you realize... <span style="color:red"> Kali must live somewhere in the Residential Center too. </span> There's no way of knowing where. But the thought of ever running into <<np him>> again... <br> <br>
<<np He>> could even be coming now. Unnerved, you quickly enter, joining the crowd at the main hall. <br> <br>
<<link "Continue">> <<set $location to "Residential Center">> <<set $region to "Home">> <<goto $location>> <</link>><<set _rarityPool to {
common: 10,
}>>
<<set _rarity to weightedEither(_rarityPool)>>
<<if _rarity is "common">>
<<set _event to {
"Clear Graf Ass Slap": 10,
"Clear Graf Can": 5,
"Clear Graf Synth": 10,
"Clear Graf Paint Clothing": 10,
"Clear Graf Street Rat": 2,
"Clear Graf Attack": Math.trunc(5 *(_bait /100)),
}>>
<<if $unitJob_Progress is 0>> <<set _event to "Clear Graf Intro">> <</if>>
<<if $unitJob_Voyeur is 0 and $unitJob_Progress gt 5>> <<set _event["Clear Graf Voyeur"] to 100>> <</if>>
<<if $unitJob_Voyeur is 1 and $unitJob_Progress gt 12>> <<set _event["Clear Graf Voyeur Cuffs"] to 100>> <</if>>
<</if>>
<<if _event isnot undefined>> <<set _event to weightedEither(_event)>> <</if>>
<<set $unitJob_Progress += 1>>
<<if $unitJob_Progress gte 40>>
<<set _event to "Clear Graf Finish">>
<</if>>You take a look at the grafitti-covered walls of the Residential Center. Most weren't here just a few days ago. It would be too optimistic to expect even a single square-inch of wall to remain clean for more than a few days in this city, but at least most grafittis are artistic, or at least non-sensical: the ones here are openly offensive. <br> <br>
Multiple variations of "Synth trash lives here", crossed-out Icarus logos, threats and slurs everywhere. You have to note the hateful dedication needed to spray even the highest floors. <br> <br>
There's not much point on dwelling on it. Grabbing a scrapper, you get to work. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><span style="color:limegreen"> You work on cleaning grafitti. </span>
<<set _ev to random(1, 3)>>
<<if _ev is 1>>
You spend some time scraping a few slurs off the wall.
<<elseif _ev is 2>>
You rub a crude drawing off the wall.
<<elseif _ev is 3>>
You clear out a series of ominous dates and threats.
<</if>>
<<loseNeed 1 20>>
<<if $unitJob_Voyeur gte 1>>
<<if $playerStat.LowerCover lt 10 or $playerStat.UpperCover lt 10>>
<br> <br> You get a tip from working while in this state of clothing... <<set _val to 0>>
<<if $playerStat.LowerCover lt 10>> <<set _val += 20>> <</if>>
<<if $playerStat.UpperCover lt 10>> <<set _val += 10>> <</if>>
<<gainCred _val>>
<<set _exposed to _val *3>> <<playerExposed _exposed>>
<</if>>
<</if>>
<<if $unitJob_Voyeur gte 2>>
<<if $playerStat.Bondage gt 0>>
<br> <br> You get a tip from working while restrained...
<<set _val to $playerStat.Bondage *3>>
<<gainCred _val>> <<set _exposed to _val *3>> <<playerExposed _exposed>>
<</if>>
<</if>><<include "Clear Graf">>
You are finally done! The Residential Center looks pristine. Now to see how long that lasts... <br> <br>
<<gainCred 1000>> <br> <br>
<<passageXP 50>> <br> <br>
<<checkWeekFlag UnitJob>> <<set $weekFlag[_dayW]["UnitJob"] to "Done">>
<<link "Continue">> <<set $unitJob_Completed to 1>> <<goto $location>> <</link>><<include "Clear Graf">> <br> <br>
<<clearNPC>> <<createNPC SlumHuman>>
While you are preoccupied cleaning a wall, a <<np name>> slaps your ass from behind at laughs at your reaction. <<playerExposed 250>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Clear Graf">> <br> <br>
You find a pile of discarded spray cans next to the wall. As you are picking them up, you notice one of them is still full. <br> <br>
<<showItem SprayPaint 1>> <br> <br>
<<link "Continue">> <<lootItem 7 SprayPaint 1>> <<goto $location>> <</link>><<include "Clear Graf">> <br> <br>
<<clearNPC>> <<createNPC StreetRat>>
You see a <<np name>> suspiciously close to the wall. When you approach <<np he>> takes a look at you and runs away, leaving behind a half-finished graffiti. <br> <br>
<<link "Chase" "Clear Graf Street Rat Chase">> <<attCheck 4 10 18 12>> <</link>> | <<showCheck 4 10 18>> <br>
<<link "Continue">> <<goto $location>> <</link>><<if $success is 0>>
The <<np name>> is too fast for you to catch up! <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<elseif $success is 1>>
You catch up to the <<np name>>! You manage to grab <<np his>> shoulder and corner <<np him>> against the wall. <br> <br>
"Ey- let me go!" <<np He>> screeches. "I wasn't doing anything!" <br> <br>
You look at the offensive graffiti left in the walls. <<np He>> scoffs. 'Most of those were already there.' <br> <br>
You ask <<np him>> why is <<np he>> leaving anti-synth grafitti. <br> <br>
"I don't care about you clankers!" <<np He>> answers as if offended. "Some guy just gave me a hundred creds to paint some of your walls, so what? And no, no idea who that was. Just some guy on a black car." <br> <br>
You figure that doesn't narrow it down at all. <br> <br>
"So, uh... can I go?" <br> <br>
<<link "Let <<np him>> go" "Clear Graf Street Rat Let Go">> <</link>>
<</if>>You decide to let the <<np name>> go. It's not like the police would pay you any attention, anyways. <br> <br>
<<np He>> is quick to get away. "Sorry, tinhead!" <<np He>> yells while running. <br> <br>
<<gainXP 40>> <br> <br>
<<link "Continue">> <<gainFavor StreetRats 2>> <<goto $location>> <</link>><<include "Clear Graf">> <br> <br>
<<clearNPC>> <<createNPC Synth>>
You're not the only one helping out. A <<np name>> covered in paint waves at you smiling. The wall <<np he>>'s been working has gross smudges of paint. Maybe you're the only one making progress... <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Clear Graf">> <br> <br>
You're scraping a particularly dense spot of paint when it suddenly gives in. Unfortunately, the dried exterior was hiding a pocket of fresh paint that sprays everywhere, <<if $clothing["upper body"].length gt 0>> <<outerLayer "upper body">> <<set _clothId to $clothing["upper body"][_outerLayer][0]>> landing on your <<= setup[_clothId].name>>! You get to scrap it all off, but not without damaging your clothes. <<set _ran to random(10, 20)>> <<damageClothing "upper body" _ran>>
<<else>> landing on your exposed chest! <<loseNeed 3 200>>
<</if>>
<br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Clear Graf">> <br> <br>
<<clearNPC>> <<createNPC SlumHuman>>
Suddenly a <<np name>> corners you against the wall. <br> <br>
<<set _talk to random(1, 1)>>
<<if _talk is 1>>
"Let me have my fun, alright?" <<np He>> laughs.
<<elseif _talk is 2>>
""
<</if>>
<br> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Clear Graf Attack Win">> <<set $surrender to "Clear Graf Attack Surrender">> <<set $surrenderDanger to 2>> <<trauma 5 0>> <</link>> <br>The <<np name>> stumbles back and you quickly move away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>>
<span style="color:red">Victorious, the <<np name>> advances on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
"Hope you enjoy it too." <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Clear Graf Attack Finish">> <</link>>The <<np name>> leans against the wall. "That was nice." <<np He>> sighs, staring at you. <br> <br>
You quickly move away. <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<include "Clear Graf">> <br> <br>
<<set $unitJob_Voyeur to 1>>
You hear a buzzing behind you. When you turn around you see a small drone carrying a note with its legs. It buzzes in the air waiting for you to take it. <br> <br>
Curious, you take the note and unfold it: <br> <br>
<<if $playerStat.LowerCover lt 10 or $playerStat.UpperCover lt 10>>
"Hey there, gorgeous. I just wanted to say thanks... watching you through the window has been the highlight of my day." <<playerExposed 150>> <br> <br>
'Thought I'd give you a little tip. Keep giving me a show, stay cute and exposed like that, and I'll send you some more.' <<gainCred 50>> <br> <br>
You look around to the nearby buildings. Most windows are one-way, and look completely black from the outside, so it's impossible to know who's watching. Or even how many people are... <br> <br>
<<set $unitJob_Voyeur to 1>> <<gainXP 60>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<else>>
"Hey there. I have been watching you through the window all day. Here's the deal: give me a little show and I'll pay you well. Just keep doing what you are doing... but without those clothes on. Think about it." <br> <br>
You look around to the nearby buildings. Most windows are one-way, and look completely black from the outside, so it's impossible to know who's watching. Or even how many people are... <br> <br>
<<link "Ignore it for now" "Clear Graf Voyeur Think">> <</link>> <br>
<<link "Strip right now" "Clear Graf Voyeur Strip">> <</link>> <<lewdTip>>
<</if>>You return the note to the drone. It flies up, disappearing behind a building. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You remove your clothing piece by piece. The drone flies side to side as if it was excited to watch. <<playerPersonality Lewd 6>> <<playerExposed 300>> <br> <br>
<<playerStrip "upper body" "lower body" returnClothes>>
Soon enough you get a donation to your account. <<gainCred 50>> <br> <br>
With that, the drone flies up, disappearing behind a building. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Clear Graf">> <br> <br>
<<set $unitJob_Voyeur to 2>>
You see the small drone fly down again, carrying another note and two circular objects. <br> <br>
"Hey there. Here's a little gift for you. Wear them while working and I'll spoil you some more..." <br> <br>
You take the two circular bindings: they are magnetic cuffs. You'll barely be able to move your arms with them on. <br> <br>
<<link "Ignore it for now" "Clear Graf Voyeur Cuffs Think">> <<lootItem 3 MagCuff 100>> <<lootItem 3 MagCuff 100>> <</link>> <br>
<<link "Wear them right now" "Clear Graf Voyeur Cuffs Wear">> <</link>> <<lewdTip>>You return the note to the drone. It flies up, disappearing behind a building. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You put the magnetic cuffs around your wrists. <<playerPersonality Lewd 6>> <<wear "left wrist" MagCuff>> <<wear "right wrist" MagCuff>> <br> <br>
The drone circles you, as if satisfied with you. Soon enough you get a donation to your account. <<gainCred 50>> <br> <br>
With that, the drone flies up, disappearing behind a building. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<if $unit1AJob is undefined>> <<set $unit1AJob to 0>> <</if>>
<<set _jobList to [
"CleanGraf",
"UndercityLost",
]>>
<<set $weekFlag[$weekDay]["UnitJob"] to _jobList[$unit1AJob % _jobList.length]>> <<set $unit1AJob += 1>>
You tell Unit 1A you want a job. <br> <br>
<<if $weekFlag[$weekDay]["UnitJob"] is "CleanGraf">>
<<set $unitJob_Progress to 0>> <<set $unitJob_Completed to 0>> <<if $unitJob_Voyeur is undefined>> <<set $unitJob_Voyeur to 0>> <</if>>
"Have you seen the outside of the center? It's filled with graffiti. It's such a bad look. So... help clean it up and I can give you some compensation. If you get it done this week maybe I can get you a big bonus?"
<<elseif $weekFlag[$weekDay]["UnitJob"] is "Social">>
<<elseif $weekFlag[$weekDay]["UnitJob"] is "UndercityLost">>
<<set $unitJob_UndercityLostX to random(3, 5)>> <<chance 50>> <<set $unitJob_UndercityLostX -= $unitJob_UndercityLostX *2>> <</chance>>
<<set $unitJob_UndercityLostY to random(3, 5)>> <<chance 50>> <<set $unitJob_UndercityLostY -= $unitJob_UndercityLostY *2>> <</chance>>
<<set $unitJob_UndercityLostProgress to 0>> <<set $unitJob_Completed to 0>>
"There's something." Unit 1A says. "We had someone go down to the Undercity last week. They haven't come up yet..." <<np He>> looks away. <br> <br>
'They are one of the most productive residents. Always pays the fees in time... so there's a reward for finding them. 2500 credits. The last ping we got was at Y $unitJob_UndercityLostY and X $unitJob_UndercityLostX. If you can pinpoint the exact location, you can call in and we'll send a drone to take 'em home.' <br> <br>
'Just make sure you get to them soon...'
<<addUndercityQuest UnitJob_UndercityLost $unitJob_UndercityLostY $unitJob_UndercityLostX 1440>>
<</if>>
<br> <br> <<link "Continue" "Residential Center Apartments">> <</link>><span style="color:gold"> You finally manage to pinpoint the lost synth's location! </span>
<<clearNPC>> <<createNPC Synth>> Unfortunately, <<np he>> is not in great state... you find the <<np name>> battered and half buried in a pile of scrap, <<np his>> broken flashlight lying a few steps away.
<br> <br>
You get to work clearing the debris and assesing the <<np name>>'s health.
<<if $visit.includes(passage())>>
<<np His>> systems are still working, but <<np he>> hasn't recovered conscience yet. A familiar situation... <br> <br>
You were expecting it, but the voice still surprises you. <<loseNeed 3 300>> <br> <br>
"You steal from me again?" It says, echoing inside your head. "No matter... you make a good dessert." <<loseNeed 3 300>> <br> <br>
Finally the drone comes in and takes the damaged synth away. <<gainCred 2500>> <br> <br>
You walk away quickly as the voice taunts you. "Until next time..." <br> <br>
<<gainXP 60>> <br> <br>
<<link "Continue">> <<questFlag UnitJob_UndercityLost>> <<set $unitJob_Completed to 1>> <<goto $location>> <</link>>
<<else>>
You confirm <<np his>> systems are still working, but unexplainedly, <<np he>> hasn't recovered conscience yet. While you guard <<np his>> body and wait for the drone to come in, you think you hear faint whispers all around you. <<loseNeed 3 300>> <br> <br>
You frantically look for the source with your flashlight, but there's nothing but metal around. It might just been in your head. A few minutes later, the drone comes in and takes the damaged synth away. <<gainCred 2500>> <br> <br>
As the drone flies into the darkness you sigh in relief. You are about to start walking back when... <br> <br>
"Now, why would you do that?" Says a voice, strong and clear, but coming from nowhere in particular. "That one was mine." <br> <br>
You look around and find nothing yet. You get ready for a fight, but still nothing comes out. There's only silence. <<loseNeed 3 300>> <br> <br>
<<set $underVoice to 1>>
<<link "Talk to the voice" "Unit 1A Job Undercity Lost Talk">> <</link>>
<</if>>You tell the voice to show itself. <br> <br>
"No need to yell." The voice responds. "Your thoughts are already too loud." <br> <br>
You shake your head. <<loseNeed 3 300>> <br> <br>
"You panic quite delightfully. Unfortunately your friend took my appettite... So come back soon, please?" <br> <br>
You finally spring into action and run away. You only stop a few minutes later. You don't hear the voice anymore. <br> <br>
<<passageXP 60>> <br> <br>
<<link "Continue">> <<questFlag UnitJob_UndercityLost>> <<set $unitJob_Completed to 1>> <<trauma 100 0>> <<goto $location>> <</link>><-- <<link "Back to contacts" "Social">> <</link>>
<h3> Unit 1A </h3>
Unit 1A is prototype synth with <<switch $people[$unit1A].gender>><<case Male>> a masculine <<case Female Futa>> a feminine <<case Andro>> an androgynous <</switch>> design.<<clearNPC>> <<createNPC Unit1A>> <<set $people.push($npc[0])>> <<set $unit1A to $people.length -1>>
As you open the door someone is waiting in the hallway: a synthetic with <<switch $people[$unit1A].gender>><<case Male>> a masculine <<case Female Futa>> a feminine <<case Andro>> an androgynous <</switch>> design. Unlike you however, <<np he>> is clearly a very early model, a prototype, with a rough exterior, poligonal head, visible joints and no skin anywhere below the neck. <br> <br>
The only refined part of <<np his>> is <<np his>> exhausted face. <br> <br>
"Hey, welcome and all that. I'm Unit 1A." <<np He>> recites in a monotone. "Are you one of the smart ones?" <br> <br>
<<link "Yes" "Unit 1A Meet 1">> <<gainLove $unit1A 10>> <<set $answer to 1>> <</link>> <br>
<<link "No" "Unit 1A Meet 1">> <<set $answer to 2>><</link>> <br>
<<link "I'm smarter than you" "Unit 1A Meet 1">> <<gainLove $unit1A 20 0>> <<set $answer to 3>><</link>><<if $answer is 1>> "Try to keep it that way." <<np He>> says. "Most don't last very long here.
<<elseif $answer is 2>> "At least you know that.
<<elseif $answer is 3>> Unit 1A stares at you. "Whatever you say.
<</if>>If you're going to start to make a life for yourself, you'll need this." <br> <br>
<<np He>> thrusts an odd stick on your direction. <br> <br>
"Most go down to the street market for credits. If you're a little braver, you could go down to the Undercity. Don't lose any limbs out there. Take care of yourself and... Good luck." <br> <br>
<<np He>> promptly walks away, leaving you confused and a little overwhelmed. <br> <br>
<<gainXP 10>>
<br> <br>
<<link "Continue">> <<lootItem 6 ShockStick 100>> <<set $message.push("Equip items from your inventory!")>> <<goto $location>> <</link>><<clearNPC>> <<loadPerson $unit1A>>
As you open the door you find Unit 1A standing outside again. <br> <br>
"Hey there. How was your first week?" <br> <br>
<<link "Good" "Unit 1A Second Meet 1">> <<set $answer to 1>> <</link>> <br>
<<link "Bad" "Unit 1A Second Meet 1">> <<set $answer to 2>> <</link>> <br><<if $answer is 1>> "Good for you." <<np He>> answers. "You're one of the few who aren't struggling.
<<else>> "Well, you're not the only one who's struggling. <</if>>
I've been getting a lot of complaints about the daily fees. As if I'm the one setting them..." <<np He>> shakes <<np his>> head sighing. <br> <br>
'If you need some extra credits, come to my apartment. I should have something for you every week or so. The number is... well, it's the very first one. Ground floor. Good luck.' <br> <br>
<<link "Continue">> <<set $message.push("Visit Unit 1A!")>> <<goto $location>> <</link>>As you walk out you find a note next to your door. It surprises you to see it's handwritten, although the caligraphy is mechanically neat. Without doubt, another synth wrote it. <br> <br>
"Welcome to your new home." It reads. "I'm Unit 1A. When you have time, please come meet me at the first floor. The address is..." <br> <br>
You make note of the address and take the paper off the wall. Looking around, you see similar notes left behind next to almost every apartment. It seems most don't bother to meet this "Unit 1A". Mulling it over, you walk down to the main hall. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC Unit1A>> <<set $people.push($npc[0])>> <<set $unit1A to $people.length -1>>
You find the apartment of Unit 1A easily. It's the very first one, after all. You click on the doorbell and wait. <br> <br>
After a solid minute the door finally opens. A synth unit with <<switch $people[$unit1A].gender>><<case 0>> a masculine <<case 1>> a feminine <<case 2>> an androgynous <</switch>> design stands in front of you. It's clearly one of the first models, almost a prototype, as it's finishing is hardly human-like with its poligonal head, visible joints and lack of skin down the neck. <br> <br>
However, it does have an advanced facial piece. Its blue eyes are expressive and, at this moment, filled with exhaustion. <br> <br>
"So at least someone showed up..." Unit 1A says in a perfectly human, perfectly tired voice. "I was supposed to be welcoming everyone but this bunch of idiots either don't care or can't string a single coherent thought together. Are you one of the smart ones?" <br> <br>
<<talk "Yes" "Unit 1A First Meet 1">> <<set $message.push("<<gainLove $unit1A 10 0>>")>> <<set $answer to 1>> <</talk>> <br>
<<talk "No" "Unit 1A First Meet 1">> <<set $answer to 2>><</talk>> <br>
<<talk "I'm smarter than you" "Unit 1A First Meet 1">> <<set $message.push("<<gainLove $unit1A 20 0>>")>> <<set $answer to 3>><</talk>><<if $answer is 1>> "I really hope so." Unit 1A sighs and stands aside. "Come in." <br> <br>
<<elseif $answer is 2>> "Awesome." Unit 1A snarks. "At least you can speak. Come in." <br> <br>
<<elseif $answer is 3>> Unit 1A stares at you. "Whatever you say. Come in." <br> <br>
<</if>>
You enter the apartment. It the same layout than yours, but it's filled with boxes, tools and miscellaneous parts. <br> <br>
"I got all this junk for the new people but barely anyone bothered to come by. If you can find something useful, take it. 'ts mostly scrap anyways." It says in a bitter tone. "No matter how much it cost me to get it." <br> <br>
Your eyes wander to a corner of the room. A black hooded coat hangs on the wall, dripping wet. Unit 1A stands in front of it. <br> <br>
"That's not included." It says in an almost hostile tone, but then its monotone returns. "I got some boosters if you want, but I'll have to apply them to you myself. I don't trust you to go around with that stuff. The best thing I can offer you, however, it's advice. Unless you wanna end up as spare parts. If you ask me, most of those idiots outside will." <br> <br>
<<set $talkOptions to []>>
<<include "Unit 1A First Meet Options">><<if $talkOptions.includes("Ask Name")>>
<<if $talkOptions.includes("Real Name") or $talkOptions.includes("Name Fits")>> <<else>> <<talk "Don't you want a real name?" "Unit 1A First Meet Real Name">> <<set $talkOptions.push("Real Name")>> <</talk>> <br>
<<talk "Unit 1A fits you" "Unit 1A First Meet Name Fits">> <<set $message.push("<<gainLove $unit1A 5 0>>")>> <<set $talkOptions.push("Name Fits")>> <</talk>> <br> <</if>>
<<else>>
<<talk "Why do you call yourself Unit 1A?" "Unit 1A First Meet Ask Name">> <<set $talkOptions.push("Ask Name")>> <</talk>> <br> <</if>>
<<if $talkOptions.includes("Advice")>> <<else>> <<talk "Can you give me some advice?" "Unit 1A First Meet Advice">> <<addRecord "Advice from Unit 1A" "Unit 1A Advice">> <<set $talkOptions.push("Advice")>> <</talk>> <br> <</if>>
<<if $talkOptions.includes("Booster")>> <<else>> <<talk "Boosters?" "Unit 1A First Meet Booster">> <<set $talkOptions.push("Booster")>> <</talk>> <br> <</if>>
<<talk "No more questions" "Unit 1A First Meet End Ask">> <<unset $talkOptions>> <</talk>>Unit 1A blinks a few times. "Weird question. I never got a real name, so my model number's good enough. Beats 'robot' or 'scrap' anyway." <br> <br> <<include "Unit 1A First Meet Options">>"It doesn't top my list of priorities." Unit 1A says slowly, staring straight at you. You decide not to press the issue further. <br> <br> <<include "Unit 1A First Meet Options">>"Yeah, well, sleep with one eye open okay?" Unit 1A says with a sweet smile. <br> <br> <<include "Unit 1A First Meet Options">><<include "Unit 1A Advice">> <<include "Unit 1A First Meet Options">>"Listen up... this is an opportunity to actually do something with your life. In a few months we might lose our freedom anyways, so make it count while you have it, okay?" <br> <br>
'Now, I don't really care about what you do. But whatever you decide you'll need <span style="color:gold"> credits</span>. So you might want to look into getting a job. Unlike me you look perfectly human, so you might be able to get a real one... I have no idea who would pay you a fair salary though. If you ask me, your safest bet is to employ yourself. Go to the south Hell Stairs, pay for the permit and sell what you find down there at the Street Market. Be careful with going too deep into the undercity though, else you might get yourself killed or worse. But if you do wanna get beaten up, go to the bar in the industrial district. Making synths fight is still legal and they'll pay you whether you win or lose. Just... don't go there Fridays. That's when I go. And I'd beat the shit out of you no contest, so...' <br> <br>
'... anyways. If you don't wanna risk your limbs you can instead...' <br> <br>
'Here, I recorded all of this for you. Listen to it again if you need.' <br> <br>"You never boosted yourself? I guess they are pretty expensive. They stopped making them after all." Unit 1A approaches a safe on the wall and quickly taps the password on its keypad, revealing a line of cilinders inside, each one a different color. "Red for Strength, Gold for Endurance... and so on. If you need a bit extra any time, ask me for one of this. They'll make you a little better, for some time. But I'll only get you, at most, one per day... I'm not made of credits." <br> <br>
<<include "Unit 1A First Meet Options">>"Good, I'm busy." Unit 1A sighs. "I always am, really. If you want to find me you'll have to get here <span style="color:gold"> from 6 to 7 AM. </span> And please make sure it's for something important." <br> <br>
'Did ya want some of those boosters before you go?' <br> <br>
<<talk "Yes" "Unit 1A First Meet Booster Get">> <</talk>> <br>
<<talk "No thanks" "Unit 1A First Meet End">> <</talk>>"Which one you want?" Asks Unit 1A. <br> <br>
<<set $aftermath to "Unit 1A First Meet End">>
<<include "Unit 1A Booster Options">>Rubbing its head, Unit 1A walks to its bedroom. <br> <br>
"Close the door after you leave." It says before leaving you alone. You hear it audibly fall into the bed on the other side. <br> <br>
<<link "Continue" "Unit 1A Apartment">> <</link>>You are in front of Unit 1A's apartment. There's a printed note on the door: "I'm only here from 6 to 9, sorry." <br> <br>
<<link "Click the doorbell">>
<<if $hours gte 6 and $hours lte 10>> <<goto "Unit 1A Answer">> <<else>> <<set $message.push("You click the doorbell. There's no response.")>> <<goto "Unit 1A Knock">> <</if>>
<</link>>
<br> <br> <<link "Leave" "Residential Center Apartments">> <</link>>You click the doorbell. After a few moments, Unit 1A opens the door. <br> <br>
<<clearNPC>> <<loadPerson $unit1A>>
<<checkWeekFlag UnitJob>>
<<if _flag is 1>>
<<if $unitJob_Completed is 1>>
"Oh, it's you." <<np He>> says. "Good job. You should have gotten the credits already." <br> <br>
You nod in confirmation. <<np He>> stares at you, then hesitates. <br> <br>
"So... is that all?" <br> <br>
<<link "Ask for additional reward" "Unit 1A Job Reward">> <<set $unitJob_Completed to 1>> <</link>>
<br> <br>
<<link "That's all" "Unit 1A Job Offer No">> <<set $unitJob_Completed to 1>> <</link>>
<<else>>
"Sorry, I have nothing for you." <br> <br>
<span style="color:gold"> Unit 1A should have a new job for you by next <<= setup.weekday[_dayW]>>. </span>
<br> <br>
<<link "Okay" "Residential Center Apartments">> <</link>>
<</if>>
<<else>>
"Hey." <<np He>> says. "Looking for a job?" <br> <br>
<<link "Yes" "Unit 1A Job Offer">> <</link>> <br>
<<link "No..." "Unit 1A Job Offer No">> <</link>>
<</if>>"Then leave me alone?" <<np He>> blinks in confusion. <br> <br>
<<link "Okay" "Residential Center Apartments">> <</link>><<if _passout is undefined>>
You are in Unit 1A's apartment. It's the same layout than yours, but filled with random junk. <br> <br>
<<if $dayFlag["Unit1ABoost"] is undefined>> <<link "Ask Unit 1A for a boost" "Unit 1A Booster">> <<set $aftermath to "Unit 1A Apartment">> <</link>> <<else>> You already got a boost from Unit 1A today. <</if>> <br> <br>
Unit 1A is in its room. <br>
<<link "Talk to Unit 1A" "Unit 1A Talk">> <</link>>
<br> <br>
<<move "Leave apartment" "Residential Center" 1>> <</move>>
<</if>>"Which one you want?" Asks Unit 1A. <br> <br>
<<include "Unit 1A Booster Options">><<link "Strength Enhancer">> <<applyStatus StrengthUp 480>> <<goto $aftermath>> <<set $dayFlag["Unit1ABoost"] to 1>> <</link>> +5 Strength for <<showTime 480>> <br>
<<link "Endurance Enhancer">> <<applyStatus EnduranceUp 480>> <<goto $aftermath>> <<set $dayFlag["Unit1ABoost"] to 1>> <</link>> +5 Endurance for <<showTime 480>> <br>
<<link "Charisma Enhancer">> <<applyStatus CharismaUp 480>> <<goto $aftermath>> <<set $dayFlag["Unit1ABoost"] to 1>> <</link>> +5 Charisma for <<showTime 480>> <br>
<<link "Intellect Enhancer">> <<applyStatus IntellectUp 480>> <<goto $aftermath>> <<set $dayFlag["Unit1ABoost"] to 1>> <</link>> +5 Intellect for <<showTime 480>> <br>
<<link "Dexterity Enhancer">> <<applyStatus DexterityUp 480>> <<goto $aftermath>> <<set $dayFlag["Unit1ABoost"] to 1>> <</link>> +5 Dexterity for <<showTime 480>> <br>
<br> <<link "Nevermind">> <<goto $aftermath>> <</link>>You ask Unit 1A for an additional reward. <<np He>> blinks in confusion for a second, then <<np his>> expression hardens. <br> <br>
"That was not part of the deal." <<np He>> says. "Are you always this shameless? If I give you something else it'll be from my own pocket and I don't really like you that much. Stop bothering me." <br> <br>
<<link "Say you don't want a monetary reward" "Unit 1A Job Reward 1">> <</link>>
<br> <br>
<<link "Apologize and leave" "Residential Center Apartments">> <</link>>You say you want something else than credits. <<np His>> eyes narrow. <br> <br>
"What is it, then? Spit it out." <br> <br>
<<link "Ask for a kiss" "Unit 1A Job Reward Kiss">> <<playerPersonality Lewd 3>> <</link>> <<lewdTip>> <br>
<<if $addiction.Headpat gt 0>> <<link "Ask for headpats" "Unit 1A Job Reward Headpat">> <</link>> <br> <</if>>
<br>
<<link "Nevermind" "Residential Center Apartments">> <</link>>You ask Unit 1A for a kiss. <br> <br>
<<if $people[$unit1A].kiss is undefined>>
<<set $people[$unit1A].kiss to 0>>
<</if>>
<<if $people[$unit1A].kiss is 0>>
"What." <<np He>> says a little loud, staring at you. "You can't be serious." You shrug. <<np He>> looks away, shaking <<np his>> head. "I wasn't even built for that stuff. I don't know how to do it and you won't like it." <br> <br>
You tell Unit 1A that as long as <<np he>> tries <<np his>> best it will be good enough for you! <<np He>> glares at you. <br> <br>
"Alright, fine." <<np He>> leans over lighting fast, giving you a fleeting peck on the lips, before retreating back and somewhat hiding behind <<np his>> door. "Now go." <br> <br>
You believe you hear <<np his>> voice shake a bit there at end, but you decide it's wise not to mention it. You thank Unit 1A and go on your way. You feel <<np him>> watching you as you walk away. <<social 300>> <br> <br>
<<link "Continue" "Residential Center Apartments">><<addMemory 2>><<set $people[$unit1A].kiss += 1>><</link>>
<<else>>
"Again?" <<np He>> stares at you wide-eyed. "I told you I wasn't designed for stuff like that. You... you can probably find someone else here who is." <br> <br>
You tell Unit 1A that you want one from <<np him>>. <<np He>> sighs. <br> <br>
"Fine." Once again <<np he>> leans over for no longer than an instant, giving you a peck on the lips before retreating back behind <<np his>> door. "Don't get used to it. Go." <br> <br>
You thank Unit 1A and walk away. You feel <<np him>> watching you. <<social 300>> <br> <br>
<<link "Continue" "Residential Center Apartments">><<addMemory 2>><<set $people[$unit1A].kiss += 1>> <</link>>
<</if>>You ask Unit 1A for headpats. <<np He>> frowns. <br> <br>
"Really now." <<np He>> deadpans. "Fine." <br> <br>
<<np He>> extends <<np his>> arms and slowly and awkwardly pats your head. <br> <br>
"There, there." <<np He>> mumbles. "Good job and... yeah." <br> <br>
Despite <<np his>> clumsy movements you start to get into it. <<headpat 1000>> <br> <br>
"Alright that's enough." <<np He>> says retreating back behind <<np his>> door. "Now go." <br> <br>
You decide not to push further. After thanking <<np him>> you walk away, feeling <<np his>> eyes on your back. <br> <br>
<<link "Continue" "Residential Center Apartments">> <</link>><<widget "addiction">>
<<set _nice to Math.trunc((Math.clamp($addiction[_args[0]], 0, 300) *_args[1]) /10)>>
<<set $addiction[_args[0]] += _args[1]>>
<<if $timeAddiction[_args[0]] lt $addiction[_args[0]] +600>> <<set $timeAddiction[_args[0]] to $addiction[_args[0]] +600>> <</if>>
<<set $timeAddiction[_args[0]] += _args[1] *10>>
<<silently>>
<<gainNeed 3 _nice>> <</silently>>
<</widget>>
<<widget "loseAddiction">>
<<set $addiction[_args[0]] -= _args[1]>>
<</widget>>
<<widget "nectar">> <<set _raw to _args[0]>> <<set _hunger to Math.trunc(_raw /3)>>
<<if $bodyStat.insect is 0>> <<set _raw to Math.trunc(_raw /2)>>
<<elseif $bodyStat.insect gt 10>> <<set _raw to Math.trunc(_raw *(1 +(($bodyStat.insect -10) /100)))>>
<</if>>
<<gainNeed 0 _raw>> <<gainNeed 2 _hunger>> <<gainNeed 3 _raw>>
<<set _addict to Math.trunc(_args[0] /50) +1>> <<addiction Nectar _addict>> <<questFlag "addictNectar">> <<addMemory 5>>
<</widget>>
<<widget "headpat">> <<set _raw to _args[0]>>
<<if $bodyStat.feline is 0 and $bodyStat.canine is 0>> <<set _raw to Math.trunc(_raw *0.75)>>
<<elseif $bodyStat.feline gte 30 or $bodyStat.canine gte 30>>
<<if $bodyStat.feline gt $bodyStat.canine>> <<set _higher to $bodyStat.feline>> <<else>> <<set _higher to $bodyStat.canine>> <</if>>
<<set _raw to Math.trunc(_raw *(1 +(_higher /100)))>>
<<if _higher is $bodyStat.Feline>> <span style="color:pink">You can't help but purr a little.</span>
<<else>> <span style="color:pink">You can barely stop yourself from waging your tail.</span>
<</if>>
<</if>>
<<gainNeed 3 _raw>>
<<set _addict to Math.trunc(_args[0] /50) +2>> <<addiction Headpat _addict>> <<questFlag "headpat">> <<addMemory 4>>
<</widget>>
<<widget "clicker">> <<set _raw to _args[0]>>
<<if $addiction.Clicker lte 120>> <span style="color:limegreen">It's very effective!</span>
<<elseif $addiction.Clicker lte 240>> <span style="color:yellow">It's less effective than usual.</span> <<set _raw to Math.trunc(_raw *0.7)>>
<<elseif $addiction.Clicker lte 360>> <span style="color:orange">It's not very effective.</span> <<set _raw to Math.trunc(_raw *0.4)>>
<<else>> <span style="color:red">It's barely effective anymore.</span> <<set _raw to Math.trunc(_raw *0.2)>>
<</if>>
<<gainNeed 3 _raw>>
<<set _addict to 30>> <<addiction Clicker _addict>>
<</widget>><<widget "bodyOn">>
<<for _key, _value range setup[_args[0]].bodyStat>>
<<set $bodyStat[_key] += _value>>
<</for>>
<<if setup[_args[0]].playerStat isnot undefined>>
<<for _key, _value range setup[_args[0]].playerStat>>
<<set $playerStat[_key] += _value>>
<</for>>
<</if>>
<<if setup[_args[0]].perk isnot undefined>>
<<for _key, _value range setup[_args[0]].perk>>
<<set $perk[_key] += _value>>
<</for>>
<</if>>
<<if setup[_args[0]].physical isnot undefined>>
<<for _key, _value range setup[_args[0]].physical>>
<<set $physical[setup[_args[0]].part][_key] to _value>>
<</for>>
<</if>>
<<if setup[_args[0]].attBonus isnot undefined>>
<<for _bodyOn to 0; _bodyOn lt $attBonus.length; _bodyOn++>>
<<set $attBonus[_bodyOn] += setup[_args[0]].attBonus[_bodyOn]>>
<</for>>
<</if>>
<<if setup[_args[0]].attMult isnot undefined>>
<<for _clothon to 0; _clothon lt $attMult.length; _clothon++>>
<<set $attMult[_clothon] += setup[_args[0]].attMult[_clothon]>>
<</for>>
<</if>>
<<if setup[_args[0]].attRate isnot undefined>>
<<for _clothon to 0; _clothon lt $attRate.length; _clothon++>>
<<set $attRate[_clothon] += setup[_args[0]].attRate[_clothon]>>
<</for>>
<</if>>
<<if setup[_args[0]].clothTrait isnot undefined>>
<<for _clothkey, _clothvalue range setup[_args[0]].clothTrait>>
<<= setup.clothingTrait[_clothkey].on>> <<set $look[_clothkey] += 1>>
<</for>>
<</if>>
<</widget>>
<<widget "bodyOff">>
<<for _key, _value range setup[_args[0]].bodyStat>>
<<set $bodyStat[_key] -= _value>>
<</for>>
<<if setup[_args[0]].playerStat isnot undefined>>
<<for _key, _value range setup[_args[0]].playerStat>>
<<set $playerStat[_key] -= _value>>
<</for>>
<</if>>
<<if setup[_args[0]].perk isnot undefined>>
<<for _key, _value range setup[_args[0]].perk>>
<<set $perk[_key] -= _value>>
<</for>>
<</if>>
<<if setup[_args[0]].physical isnot undefined>>
<<for _key, _value range $physical[setup[_args[0]].part]>>
<<set $physical[setup[_args[0]].part][_key] to 0>>
<</for>>
<</if>>
<<if setup[_args[0]].attBonus isnot undefined>>
<<for _bodyOn to 0; _bodyOn lt $attBonus.length; _bodyOn++>>
<<set $attBonus[_bodyOn] -= setup[_args[0]].attBonus[_bodyOn]>>
<</for>>
<</if>>
<<if setup[_args[0]].attMult isnot undefined>>
<<for _clothon to 0; _clothon lt $attMult.length; _clothon++>>
<<set $attMult[_clothon] -= setup[_args[0]].attMult[_clothon]>>
<</for>>
<</if>>
<<if setup[_args[0]].attRate isnot undefined>>
<<for _clothon to 0; _clothon lt $attRate.length; _clothon++>>
<<set $attRate[_clothon] -= setup[_args[0]].attRate[_clothon]>>
<</for>>
<</if>>
<<if setup[_args[0]].clothTrait isnot undefined>>
<<for _clothkey, _clothvalue range setup[_args[0]].clothTrait>>
<<= setup.clothingTrait[_clothkey].off>> <<set $look[_clothkey] -= 1>>
<</for>>
<</if>>
<</widget>>
<<widget "damageBodyPart">> /* <<damageBodyPart "left arm" 20 1>> */
<<if $body.external[_args[0]] isnot "none">> <<if $debug is 1>> <<set $message.push("DAMAGED BODY PART")>> <</if>>
<<if $body.external[_args[0]][1] gt _args[1]>>
<<set _reg to $body.external[_args[0]][1]>>
<span style="color:orange"> Your <<= setup[$body.external[_args[0]][0]].name>> got damaged! </span> <<percent $body.external[_args[0]][1] 100>> --> <<set $body.external[_args[0]][1] to Math.clamp($body.external[_args[0]][1] -_args[2], _args[1], 100)>> <<percent $body.external[_args[0]][1] 100>>
<<set _reg1 to $body.external[_args[0]][1]>>
<<set $playerStat.Regen -= _reg -_reg1>>
<<else>>
<span style="color:orange"> Your <<= setup[$body.external[_args[0]][0]].name>> got damaged! </span> ... But were already in pretty bad state.
<</if>>
<</if>>
<</widget>>
<<widget "replaceBody">>
<<set _oldPart to $body.external[_args[0]][0]>>
<<if $body.external[_args[0]][1] lt setup[_oldPart].dura>> <<set $playerStat.Regen += setup[_oldPart].dura -$body.external[_args[0]][1]>> <</if>>
<<bodyOff _oldPart>> <<set $body.modScore -= setup[_oldPart].mod>>
<<bodyOn _args[1]>> <<set $body.modScore += setup[_args[1]].mod>>
<<set $body.external[_args[0]][0] to _args[1]>>
<<if _args[2] isnot undefined>>
<<set $body.external[_args[0]][1] to _args[2]>> <<set $playerStat.Regen -= setup[_args[1]].dura -_args[2]>>
<<else>>
<<set $body.external[_args[0]][1] to setup[_args[1]].dura>>
<</if>>
<<if _args.includes("return")>> <<lootItem 4 _oldPart $body.external[_args[0]][1] $body.external[_args[0]][2]>> <</if>>
<</widget>><-- <<link "Go back">> <<goto "Home Bathroom">> <</link>> <br> <br>
You look at yourself in the mirror. <br> <br>
<<include "Player Description">>
<br> <br>
<<if $displayOp isnot 0>> <<link "Install or replace external parts" "Mirror">> <<set $displayOp to 0>> <</link>> <<else>> Install or replace external parts <</if>> ($inventory[4].length in Inventory) <br>
<<if $displayOp isnot 2>> <<link "See and configure installed parts" "Mirror">> <<set $displayOp to 2>> <</link>> <<else>> See and configure installed parts <</if>> <br>
<<if $displayOp isnot 1>> <<link "Internal nodes" "Mirror">> <<set $displayOp to 1>> <</link>> <<else>> Internal nodes <</if>> ($inventory[5].length in Inventory) <br>
<br>
<<if $displayOp is 0>>
<<haveItem 0 IcarusRepairKit 1>> <<if _has isnot "no">> You have x<<= $inventory[0][_has][1]>> Icarus Repair Kits. You can use them to repair individual parts (must be uninstalled). <br> <br> <</if>>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $inventory[4].length>> <<capture _i>>
<div class="cardBox"> <<set _id to $inventory[4][_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $inventory[4][_i][2] isnot undefined>> (<<= $inventory[4][_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $inventory[4][_i][1]>> <<else>> | <<percent $inventory[4][_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <br>
<<if setup[_id].install isnot undefined>>
<<if $inventory[4][_i][1] gte 25>>
<<for _op to 0; _op lt setup[_id].install.length; _op++>> <<capture _op>>
- <<link "<<if $body.external[setup[_id].install[_op].part] is 'none'>> Install <<else>> Replace <</if>> <<= setup[_id].install[_op].part>>">>
<<set _idOn to _id>>
<<if $body.external[setup[_id].install[_op].part] isnot "none">> <<set _idOff to $body.external[setup[_id].install[_op].part][0]>> <<set $body.modScore -= setup[$body.external[setup[_id].install[_op].part][0]].mod>> <<= setup[_idOff].unEquip>> <<else>> <<set _idOff to 0>> <</if>>
<<set $body.modScore += setup[_id].mod>>
<<if $inventory[4][_i][1] lt setup[_id].dura>> <<set $playerStat.Regen -= setup[_id].dura -$inventory[4][_i][1]>> <</if>>
<<if _idOff isnot 0>>
<<if $body.external[setup[_id].install[_op].part][1] lt setup[_idOff].dura>> <<set $playerStat.Regen += setup[_idOff].dura -$body.external[setup[_id].install[_op].part][1]>> <</if>> <</if>>
<<set $message.push(setup[_id].install[_op].equip)>>
<<if $body.external[setup[_id].install[_op].part] isnot "none">>
<<lootItem 4 $body.external[setup[_id].install[_op].part][0] $body.external[setup[_id].install[_op].part][1] $body.external[setup[_id].install[_op].part][2]>> <</if>>
<<set $body.external[setup[_id].install[_op].part] to [_id, $inventory[4][_i][1], $inventory[4][_i][2]]>> <<set $inventory[4].deleteAt(_i)>>
<<passtime setup[_id].install[_op].time>>
<<if _idOff isnot 0>> <<bodyOff _idOff>> <</if>> <<bodyOn _idOn>>
<<goto "Mirror">>
<</link>> <<showTime setup[_id].install[_op].time>>
<</capture>> <</for>>
<<else>> - <span style="color:red">Too damaged to install.</span> <</if>>
<<if _has isnot "no" and $inventory[4][_i][1] lt setup[_id].dura>>
- <<link "Repair part">> <<passtime 20>>
<<loseItem 0 IcarusRepairKit 1>> <<set $inventory[4][_i][1] += 35>> <<goto "Mirror">>
<</link>> <<showTime 20>>
<</if>>
<<else>> Can't install. <</if>>
<</capture>> </div>
<</capture>>
<</if>> <</for>>
<<if $inventory[4].length gt 5>>
<<if $pageStart gt 0>> <<link "Previous page" "Mirror">>
<<set $pageStart -= 5>> <<set $pageEnd -= 5>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $inventory[4].length>> <<link "Next page" "Mirror">>
<<set $pageStart += 5>> <<set $pageEnd += 5>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>>
<<elseif $displayOp is 1>>
You have $body.internal.length node slots. <br> <br>
<<for _i to 0; _i lt $body.internal.length; _i++>> <<capture _i>>
<<if $body.internal[_i] isnot "none">> <<set _id to $body.internal[_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $body.internal[_i][2] isnot undefined>> (<<= $body.internal[_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $body.internal[_i][1]>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <</capture>> <<else>> Empty Node Slot <</if>>
<<if $body.internal[_i] isnot "none">> - <<link "Remove this node" "Mirror">> <<= setup[$body.internal[_i][0]].unEquip>> <<lootItem 5 $body.internal[_i][0] $body.internal[_i][1] $body.internal[_i][2]>>
<<set $body.internal[_i] to "none">> <</link>> <<else>> - <<if $inventory[5].length gt 0>> <<link "Install a node here" "Node Replace">> <<set $i to _i>> <</link>> <</if>> <</if>>
<br>
<</capture>> <</for>>
<<elseif $displayOp is 2>>
<<include "Installed Parts List">>
<</if>><span data-nokeys="true">
<<for _key, _value range $body.external>> <<capture _key>> <<capture _value>> <<if _value isnot "none">>
<span style="color:aqua"> <<= _key.toUpperFirst()>> --> </span>
<<link "<<= setup[_value[0]].name>>">> <<dialog>> <<set _id to _value[0]>> <<itemDesc>> <</dialog>> <</link>>
<<if _value[1] lt setup[_value[0]].dura>>
(<<percent _value[1] setup[_value[0]].dura green>>)
<</if>>
<<if setup[_value[0]].config isnot undefined>>
- <<link "Configure" "Body Part Configuration">>
<<set $subLocation to passage()>>
<<set $i to _value[0]>>
<</link>>
<</if>>
<<if _hideRemove is undefined>>
<<if _key is "horns" or _key is "back" or _key is "tail" or _key is "vagina" or _key is "penis" or _key is "breasts">>
- <<link "Remove">>
<<if _value[1] lt setup[_value[0]].dura>> <<set $playerStat.Regen += setup[_value[0]].dura -_value[1]>> <</if>>
<<= setup[_value[0]].unEquip>>
<<set $body.modScore -= setup[_value[0]].mod>>
<<set _part to _key>> <<= setup[_value[0]].unEquip>> <<lootItem 4 _value[0] _value[1] _value[2]>> <<bodyOff _value[0]>>
<<set $body.external[_part] to "none">> <<passtime 5>> <<goto "Mirror">>
<</link>> <<showTime 5>>
<</if>>
<</if>>
<br> <</if>>
<</capture>> <</capture>>
<</for>>
</span><span id="con">
<-- <<link "Go back">> <<goto $subLocation>> <</link>> <br> <br>
<<include "Player Description">> <br> <br>
<span data-nokeys="true">
Configuring <<= setup[$i].name>> <br> <br>
<<if setup[$i].config.physical isnot undefined>>
<<for _key, _value range setup[$i].config.physical>> <<capture _key>> <<capture _value>>
Change <span style="color:aqua">_key</span>
<<if _key isnot "color">>
- <<if $physical[setup[$i].part][_key] gt setup[$i].config.physical[_key][0]>>
<<link "Reduce">>
<<if _key is "size" or _key is "length">> <<set $physical[setup[$i].part][_key] -= 1>>
<<else>> <<set $physical[setup[$i].part][_key] -= 10>> <</if>>
<<replace "#con">> <<include "Body Part Configuration">> <</replace>>
<</link>> <<else>> Reduce
<</if>>
- <<if $physical[setup[$i].part][_key] lt setup[$i].config.physical[_key][1]>>
<<link "Increase">>
<<if _key is "size" or _key is "length">> <<set $physical[setup[$i].part][_key] += 1>>
<<else>> <<set $physical[setup[$i].part][_key] += 10>> <</if>>
<<replace "#con">> <<include "Body Part Configuration">> <</replace>>
<</link>> <<else>> Increase
<</if>> (<<= $physical[setup[$i].part][_key]>>) <br> <br>
<<elseif _key is "color">>
<<for _partColor to 0; _partColor lt setup[$i].config.physical[_key].length; _partColor++>> <<capture _partColor>>
- <<if setup[$i].config.physical[_key][_partColor] is $physical[setup[$i].part][_key]>> <<= setup[$i].config.physical[_key][_partColor]>> <<else>>
<<link setup[$i].config.physical[_key][_partColor]>>
<<set $physical[setup[$i].part][_key] to setup[$i].config.physical[_key][_partColor]>>
<<replace "#con">> <<include "Body Part Configuration">> <</replace>>
<</link>> <</if>>
<</capture>> <</for>>
<</if>>
<</capture>> <</capture>> <</for>><</if>>
</span>
</span><<set $clothingLayer to {
head: 0,
face: 0,
mouth: 0,
neck: 0,
"upper body": 0,
back: 0,
"left arm": 0,
"right arm": 0,
"left wrist": 0,
"right wrist": 0,
"left hand": 0,
"right hand": 0,
waist: 0,
"lower body": 0,
"left leg": 0,
"right leg": 0,
"left ankle": 0,
"right ankle": 0,
"left foot": 0,
"right foot": 0,
}>>
<<for _key, _value range $clothing>>
<<for _cl to 0; _cl lt _value.length; _cl++>>
<<set _id to _value[_cl][0]>> <<set _trait to _value[_cl][2]>> <<capture _id>>
<<if _key is "neck" or _key is "waist">> <<set _word to "Around">> <<elseif _key is "mouth">> <<set _word to "Above">> <<else>> <<set _word to "On">> <</if>>
<<if _cl is 0>> _word your <span style="color:aqua">_key</span> you wear <<link "<<= setup[_id].look>>">><<dialog>><<itemDesc>><</dialog>><</link>><<if _value.length is 1>>.<</if>>\
<<else>>, and above that <<link "<<= setup[_id].look>>">><<dialog>><<itemDesc>><</dialog>><</link>><<if _value.length is _cl +1>>.<</if>>\
<</if>> (<<percent _value[_cl][1] setup[_id].dura green>>)
<<set $clothingLayer[_key] += setup[_id].thickness>><<if setup[_id].fullwear isnot undefined>><<set $clothingLayer["lower body"] += setup[_id].thickness>><</if>>\
<</capture>><</for>>
<</for>>
<<if $playerStat.UpperCover gte 100>> <span style="color:green"> Your upper body is completely covered. </span>
<<elseif $playerStat.UpperCover gte 85>> <span style="color:limegreen"> Your upper body is almost completely covered. </span>
<<elseif $playerStat.UpperCover gte 70>> <span style="color:limegreen"> Your upper body is a bit exposed. </span>
<<elseif $playerStat.UpperCover gte 50>> <span style="color:yellow"> Your upper body is somewhat exposed. </span>
<<elseif $playerStat.UpperCover gte 30>> <span style="color:yellow"> Your upper body is significantly exposed. </span>
<<elseif $playerStat.UpperCover gte 12>> <span style="color:orange"> Your upper body is more exposed than not, but everything important is covered. </span>
<<elseif $playerStat.UpperCover gt 0>> <span style="color:red"> Your upper body is almost completely exposed. </span>
<<else>> <span style="color:red"> Your upper body is completely exposed. </span>
<</if>> ($playerStat.UpperCover)
<<if $playerStat.LowerCover gte 100>> <span style="color:green"> Your lower body is completely covered. </span>
<<elseif $playerStat.LowerCover gte 85>> <span style="color:limegreen"> Your lower body is almost completely covered. </span>
<<elseif $playerStat.LowerCover gte 70>> <span style="color:limegreen"> Your lower body is a bit exposed. </span>
<<elseif $playerStat.LowerCover gte 50>> <span style="color:yellow"> Your lower body is somewhat exposed. </span>
<<elseif $playerStat.LowerCover gte 30>> <span style="color:yellow"> Your lower body is signficantly exposed. </span>
<<elseif $playerStat.LowerCover gte 12>> <span style="color:orange"> Your lower body is more exposed than not, but everything important is covered. </span>
<<elseif $playerStat.LowerCover gt 0>> <span style="color:red"> Your lower body is almost completely exposed. </span>
<<else>> <span style="color:red"> Your lower body is completely exposed.</span>
<</if>> ($playerStat.LowerCover)
<<if $playerStat.FaceCover gt 0>> <span style="color:limegreen"> Your face is covered. </span> <</if>>
<br> <br>
Cumulative traits: <<set _traits to 0>>
<<for _key, _value range $look>> <<capture _key>>
<<if _value isnot 0>> <<set _traits += 1>>
- <<link "<<= setup.clothingTrait[_key].name>>">><<dialog>> <<= setup.clothingTrait[_key].desc>> <</dialog>><</link>> (_value)
<</if>>
<</capture>>
<</for>>
<<if _traits is 0>> (none) <</if>><span style="color:gold"> Categories </span>
<span data-nokeys="true">
<<for _i to 0; _i lt setup.clothCat.length; _i++>> <<capture _i>>
| <<if $invTarget isnot _i>> <<link "<<= setup.clothCat[_i]>>">> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $invTarget to _i>> <<set _go to passage()>> <<goto _go>> <</link>> <<else>> <<= setup.clothCat[_i]>> <</if>> (<<= $wardrobe[_i].length>>)
<</capture>> <</for>>
</span>
<br> <br>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $wardrobe[$invTarget].length>> <<capture _i>>
<div class="cardBox"> <<set _id to $wardrobe[$invTarget][_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $wardrobe[$invTarget][_i][2] isnot undefined>> (<<= $wardrobe[$invTarget][_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $wardrobe[$invTarget][_i][1]>> <<else>> <<percent $wardrobe[$invTarget][_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> <br>
<<if _clothingChangeAllowed is 1>>
<<if setup[_id].equip isnot undefined>>
<<for _op to 0; _op lt setup[_id].equip.length; _op++>> <<capture _op>>
<<set _put to 0>>
<<if $clothingLayer[setup[_id].equip[_op].part] lt setup[_id].layer>> <<set _put to 1>> <</if>>
<<if _put is 1 and setup[_id].fullwear isnot undefined and $clothingLayer["lower body"] gte setup[_id].layer>> <<set _put to 0>> <</if>>
<<if _put is 1>>
- <<link "<<= setup[_id].equip[_op].name>>">>
<<set $clothingLayer[setup[_id].equip[_op].part] += setup[_id].thickness>>
<<if setup[_id].fullwear isnot undefined>> <<set $clothingLayer["lower body"] += setup[_id].thickness>><</if>>
<<= setup[_id].equip[_op].on>>
<<if $wardrobe[$invTarget][_i][2] isnot undefined>> <<set _trait to $wardrobe[$invTarget][_i][2]>> <<else>> <<set _trait to "">> <</if>>
<<set $message.push("You put the " + _trait + " " + setup[_id].name + " on!")>> <<clothOn _id>>
<<set $clothing[setup[_id].equip[_op].part].push([$wardrobe[$invTarget][_i][0], $wardrobe[$invTarget][_i][1], $wardrobe[$invTarget][_i][2],])>>
<<set $wardrobe[$invTarget].deleteAt(_i)>>
<<goto "Wardrobe">>
<</link>>
<<else>> - Can't fit on <<= setup[_id].equip[_op].part>> (<<link "Strip">> <<playerStrip setup[_id].equip[_op].part returnClothes>> <<goto "Wardrobe">> <</link>>) <</if>>
<</capture>> <</for>>
<<else>> Can't wear. <</if>>
<<if setup[_id].repairMat is undefined and _fabricSpray is 1 and $wardrobe[$invTarget][_i][1] lt setup[_id].dura>>
- <<link "Spray">>
<<loseItem 7 FabricSpray 1>>
<<set $wardrobe[$invTarget][_i][1] to Math.clamp($wardrobe[3][_i][1] +50, 0, setup[_id].dura)>>
<<goto "Wardrobe">>
<</link>>
<</if>> <<else>> Can't change here.
<</if>>
</span>
<</capture>> </div>
<</capture>>
<</if>> <</for>>
<<if $wardrobe[$invTarget].length gt 10>>
<<if $pageStart gt 0>> <<link "Previous page">>
<<set $pageStart -= 10>> <<set $pageEnd -= 10>>
<<set _go to passage()>> <<goto _go>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $wardrobe[$invTarget].length>> <<link "Next page">>
<<set $pageStart += 10>> <<set $pageEnd += 10>>
<<set _go to passage()>> <<goto _go>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><-- <<link "Go back">> <<goto $location>> <</link>> <br> <br>
<span data-nokeys="true">
<<include "Player Clothing">>
</span>
<br> <br>
<span data-nokeys="true">
<<if $displayOp isnot 0>> <<link "Put something on..." "Wardrobe">> <<set $displayOp to 0>> <</link>> <<else>> Put something on... <</if>> <br>
<<if $displayOp isnot 1>> <<link "Strip clothing..." "Wardrobe">> <<set $displayOp to 1>> <</link>> <<else>> Strip clothing... <</if>> <br>
</span>
<br> PROTECTION: $playerStat.Protection <br> <br>
<<if $displayOp is 0>>
<span data-nokeys="true">
<<if $outfit.length lt 8>>
<<link "Save current outfit">> <<dialog>> <<set _name to "Outfit " + ($outfit.length +1)>> Outfit name --> <<textbox "_outfit" _name autofocus>> <br> <br> <<link "Continue">> <<if _outfit.includes("<") is false and _outfit.includes(">") is false>> <<set $outfit.push([_outfit, $clothing])>> <<dialogclose>> <<goto "Wardrobe">> <</if>> <</link>> <</dialog>> <</link>>
<<else>> Delete an outfit to save a new one <</if>>
</span>
<<outfitOptions>>
<br> <br>
<<haveItem 7 FabricSpray 1>>
<<if _has isnot "no">> <<set _fabricSpray to 1>> You have x<span style="color:gold">_hasAmount</span> cans of Fabric Spray. <br> <br> <</if>>
<<set _clothingChangeAllowed to 1>>
<<include "Clothing">>
<<elseif $displayOp is 1>>
<<link "Strip everything">> <<set _offList to []>>
<<for _key, _value range $clothing>>
<<for _cl to _value.length -1; _cl gte 0; _cl-->>
<<if _value[_cl][2] isnot "locked">>
<<lootItem 3 _value[_cl][0] _value[_cl][1] _value[_cl][2]>> <<= setup[_value[_cl][0]].off>> <<set $clothingLayer[_key] -= setup[_value[_cl][0]].thickness>> <<if setup[_value[_cl][0]].fullwear isnot undefined>> <<set $clothingLayer["lower body"] -= setup[_value[_cl][0]].thickness>><</if>>
<<set _offList.push(_value[_cl][0])>>
<<set $clothing[_key].deleteAt(_cl)>>
<</if>>
<</for>>
<</for>> <<aoe _offList.length>> <<clothOff _offList[_tg]>> <</aoe>> <<goto "Wardrobe">> <</link>>
<br> <br>
<<for _key, _value range $clothing>> <<capture _key>> <<capture _value>>
<<if _value.length gt 0>> <span style="color:blue"> <<= _key.toUpperFirst()>> </span> -- > <<set _cl to _value.length -1>> <<capture _cl>>
<<if _value[_cl][2] isnot "locked">>
<<link "Take off <<if _value[_cl][2] isnot undefined>> <<= _value[_cl][2]>> <</if>> <<= setup[_value[_cl][0]].name>>">>
<<lootItem 3 _value[_cl][0] _value[_cl][1] _value[_cl][2]>>
<<set $clothingLayer[_key] -= setup[_value[_cl][0]].thickness>>
<<if setup[_value[_cl][0]].fullwear isnot undefined>> <<set $clothingLayer["lower body"] -= setup[_value[_cl][0]].thickness>><</if>>
<<= setup[_value[_cl][0]].off>> <<set _id to _value[_cl][0]>>
<<set $clothing[_key].deleteAt(_cl)>> <<clothOff _id>> <<goto "Wardrobe">> <</link>>
<<else>>
<<= setup[_value[_cl][0]].name>> (<span style="color:red">Locked</span>)
<<haveItem 7 MagKey 1>>
<<if _has isnot "no">>
- <<link "Unlock">>
<<loseItem 7 MagKey 1>>
<<set $clothing[_key][_cl].deleteAt(2)>>
<<goto "Wardrobe">>
<</link>> - Uses a Magnetic Key
<<else>> - You need a Magnetic Key to unlock this.
<</if>>
<</if>>
<br> <</capture>> <</if>>
<</capture>> <</capture>>
<</for>>
<</if>><<widget "wear">> <<set _wearPart to _args[0]>> <<set _wearId to _args[1]>>
<<set $clothingLayer[_args[0]] += setup[_args[1]].thickness>>
<<if setup[_args[1]].fullwear isnot undefined>> <<set $clothingLayer["lower body"] += setup[_args[1]].thickness>><</if>>
<<= setup[_args[1]].equip[0].on>> <<clothOn _wearId>>
<<set $clothing[_wearPart].push([_wearId, setup[_wearId].dura])>>
<<set _index to $clothing[_wearPart].length -1>>
<<if _args[2] isnot undefined>>
<<set $clothing[_wearPart][_index][2] to _args[2]>>
<</if>>
<</widget>>
<<widget "clothOn">>
<<for _clothkey, _clothvalue range setup[_args[0]].playerStat>>
<<set $playerStat[_clothkey] += _clothvalue>>
<</for>>
<<if setup[_args[0]].perk isnot undefined>>
<<for _clothkey, _clothvalue range setup[_args[0]].perk>>
<<set $perk[_clothkey] += _clothvalue>>
<</for>>
<</if>>
<<if setup[_args[0]].clothTrait isnot undefined>>
<<for _clothkey, _clothvalue range setup[_args[0]].clothTrait>>
<<= setup.clothingTrait[_clothkey].on>> <<set $look[_clothkey] += _clothvalue>>
<</for>>
<</if>>
<<if setup[_args[0]].attBonus isnot undefined>>
<<for _clothon to 0; _clothon lt $attBonus.length; _clothon++>>
<<set $attBonus[_clothon] += setup[_args[0]].attBonus[_clothon]>>
<</for>>
<</if>>
<<if setup[_args[0]].attMult isnot undefined>>
<<for _clothon to 0; _clothon lt $attMult.length; _clothon++>>
<<set $attMult[_clothon] += setup[_args[0]].attMult[_clothon]>>
<</for>>
<</if>>
<<if setup[_args[0]].attRate isnot undefined>>
<<for _clothon to 0; _clothon lt $attRate.length; _clothon++>>
<<set $attRate[_clothon] += setup[_args[0]].attRate[_clothon]>>
<</for>>
<</if>>
<</widget>>
<<widget "clothOff">>
<<for _clothkey, _clothvalue range setup[_args[0]].playerStat>>
<<set $playerStat[_clothkey] -= _clothvalue>>
<</for>>
<<if setup[_args[0]].perk isnot undefined>>
<<for _clothkey, _clothvalue range setup[_args[0]].perk>>
<<set $perk[_clothkey] -= _clothvalue>>
<</for>>
<</if>>
<<if setup[_args[0]].clothTrait isnot undefined>>
<<for _clothkey, _clothvalue range setup[_args[0]].clothTrait>>
<<= setup.clothingTrait[_clothkey].off>> <<set $look[_clothkey] -= _clothvalue>>
<</for>>
<</if>>
<<if setup[_args[0]].attBonus isnot undefined>>
<<for _clothon to 0; _clothon lt $attBonus.length; _clothon++>>
<<set $attBonus[_clothon] -= setup[_args[0]].attBonus[_clothon]>>
<</for>>
<</if>>
<<if setup[_args[0]].attMult isnot undefined>>
<<for _clothon to 0; _clothon lt $attMult.length; _clothon++>>
<<set $attMult[_clothon] -= setup[_args[0]].attMult[_clothon]>>
<</for>>
<</if>>
<<if setup[_args[0]].attRate isnot undefined>>
<<for _clothon to 0; _clothon lt $attRate.length; _clothon++>>
<<set $attRate[_clothon] -= setup[_args[0]].attRate[_clothon]>>
<</for>>
<</if>>
<</widget>>
<<widget "outerLayer">>
<<set _outerLayer to $clothing[_args[0]].length -1>> <<if _outerLayer gte 0>> <<set _clothId to $clothing[_args[0]][_outerLayer][0]>> <</if>>
<<if _args[0] is "lower body" and $playerStat.Fullwear is 1>>
<<set _outerLayer to $clothing["upper body"].length -1>> <<set _clothId to $clothing["upper body"][_outerLayer][0]>>
<</if>>
<</widget>>
<<widget "outfitOptions">>
<<for _o to 0; _o lt $outfit.length; _o++>> <<capture _o>>
| <<link "$outfit[_o][0]">> <<set _offList to []>> <<set _wearList to []>>
<<for _key, _value range $clothing>>
<<for _cl to _value.length -1; _cl gte 0; _cl-->>
<<if _value[_cl][2] isnot "locked">>
<<lootItem 3 _value[_cl][0] _value[_cl][1] _value[_cl][2]>> <<= setup[_value[_cl][0]].off>>
<<set $clothingLayer[_key] -= setup[_value[_cl][0]].thickness>>
<<if setup[_value[_cl][0]].fullwear isnot undefined>> <<set $clothingLayer["lower body"] -= setup[_value[_cl][0]].thickness>><</if>>
<<set _offList.push(_value[_cl][0])>>
<<set $clothing[_key].deleteAt(_cl)>>
<</if>>
<</for>>
<</for>> <<set $message to []>>
<<for _key, _value range $outfit[_o][1]>>
<<for _cl to 0; _cl lt _value.length; _cl++>>
<<haveClothing setup[_value[_cl][0]].cat _value[_cl][0] 0>> <<set _put to 0>>
<<if _has isnot "no" and $clothingLayer[_key] lt setup[_value[_cl][0]].layer>> <<set _put to 1>> <</if>>
<<if _put is 1 and setup[_value[_cl][0]].fullwear isnot undefined and $clothingLayer["lower body"] gte setup[_value[_cl][0]].layer>> <<set _put to 0>><</if>>
<<if _put is 1>>
<<set $clothingLayer[_key] += setup[_value[_cl][0]].thickness>>
<<if setup[_value[_cl][0]].fullwear isnot undefined>> <<set $clothingLayer["lower body"] += setup[_value[_cl][0]].thickness>><</if>>
<<= setup[_value[_cl][0]].equip[0].on>> <<if _value[_cl][2] is undefined>> <<set _trait to "">> <<else>> <<set _trait to _value[_cl][2]>> <</if>>
<<set $message.push("You put the " + _trait + " " + setup[_value[_cl][0]].name + " on!")>> <<set _wearList.push(_value[_cl][0])>>
<<set $clothing[_key].push([_value[_cl][0], _value[_cl][1], $wardrobe[setup[_value[_cl][0]].cat][_has][2],])>> <<set $wardrobe[setup[_value[_cl][0]].cat].deleteAt(_has)>>
<<elseif _has is "no">> <<set $message.push("Couldn't find outfit part --> " + setup[_value[_cl][0]].name + "!")>>
<<else>> <<set $message.push("Couldn't fit outfit part --> " + setup[_value[_cl][0]].name + "!")>>
<</if>>
<</for>>
<</for>> <<aoe _wearList.length>> <<clothOn _wearList[_tg]>> <</aoe>> <<aoe _offList.length>> <<clothOff _offList[_tg]>> <</aoe>> <<set _go to passage()>> <<goto _go>>
<</link>> <span data-nokeys="true"> (<<linkreplace "Delete">> <<link "Confirm delete <<= $outfit[_o][0]>>?" "Wardrobe">> <<set $outfit.deleteAt(_o)>> <</link>> <</linkreplace>>) </span>
<</capture>> <</for>>
<</widget>><<widget "gainXP">>
<span style="color:limegreen">+_args[0] Life Experience! </span>
<<set $xpProg += _args[0]>>
<<for $xpProg gte $xpGoal and $xpLevel lt 20>>
<<set $xpLevel += 1>> <<for _pk to 0; _pk lt $perkPoint.length; _pk++>> <<set $perkPoint[_pk] += 1>> <</for>> <<set $xpProg -= $xpGoal>>
<<set $xpGoal to Math.trunc($xpGoal *1.2)>>
<span style="color:gold"> Level up! </span>
<</for>> ($xpProg/$xpGoal)
<</widget>>
<<widget "passageXP">>
<<if $visit.includes(passage())>> <<set _xpgain to _args[0]>><<else>> <<set _xpgain to _args[0] *4>> <<set $visit.push(passage())>> <</if>>
<<gainXP _xpgain>>
<</widget>><-- <<link "Go back" "Status">> <</link>> <br> <br>
<span data-nokeys="true">
Type
<<for _z to 0; _z lt setup.perkList.length; _z++>> <<capture _z>>
- <<if $perkMenu is _z>> <<= setup.perkCat[_z]>> <<else>> <<link "<<= setup.perkCat[_z]>>" "Perk Shop">> <<set $perkMenu to _z>> <<set $pageStart to 0>> <<set $pageEnd to 8>> <</link>> <</if>> <span style="color:gold">(<<= $perkPoint[_z]>>)</span>
<</capture>> <</for>>
</span>
<br> <br>
<<set _optionsShown to 0>>
<<for _i to $pageStart; _optionsShown lt 8 and _i lt setup.perkList[$perkMenu].length; _i++>>
<<if _i lt setup.perkList[$perkMenu].length>> <<capture _i>>
<<set _showPerk to 0>>
<<= setup.perkList[$perkMenu][_i].condition>>
<<if _showPerk is 1>> <<set _optionsShown += 1>>
<<= setup.perkList[$perkMenu][_i].name>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>><<= setup.perkList[$perkMenu][_i].desc>><</dialog>> <</link>> </span> -->
<<if $perkList.includes(setup.perkList[$perkMenu][_i].id)>>
<span style="color:gold"> Unlocked! </span>
<<if setup.perkList[$perkMenu][_i].levelup isnot undefined>>
(Level <<= $perkList.count(setup.perkList[$perkMenu][_i].id)>>/<<= setup.perkList[$perkMenu][_i].maxLevel>>) -
<<if $perkPoint[$perkMenu] gte setup.perkList[$perkMenu][_i].cost and setup.perkList[$perkMenu][_i].maxLevel gt $perkList.count(setup.perkList[$perkMenu][_i].id)>>
<<linkreplace "Level Up">>
<<link "Confirm level up?">> <<= setup.perkList[$perkMenu][_i].levelup>> <<set $perkList.push(setup.perkList[$perkMenu][_i].id)>> <<set $perkPoint[$perkMenu] -= setup.perkList[$perkMenu][_i].cost>> <<goto "Perk Shop">> <</link>>
<</linkreplace>>
<<else>> Level Up <</if>> <span data-nokeys="true"> <<link "[?]">> <<dialog>><<= setup.perkList[$perkMenu][_i].levelUpDesc>><</dialog>> <</link>> </span>
<</if>>
<br>
<<else>>
<<if $perkPoint[$perkMenu] gte setup.perkList[$perkMenu][_i].cost>>
<<linkreplace "Unlock">>
<<link "Confirm unlock?">> <<set $perkList.push(setup.perkList[$perkMenu][_i].id)>> <<= setup.perkList[$perkMenu][_i].effect>> <<set $perkPoint[$perkMenu] -= setup.perkList[$perkMenu][_i].cost>> <<goto "Perk Shop">> <</link>> <</linkreplace>>
<<else>> Unlock <</if>> <span style="color:aqua">- <<= setup.perkList[$perkMenu][_i].cost>>P</span>
<br>
<</if>> <</if>>
<</capture>>
<</if>> <</for>>
<<if _optionsShown is 8 or $pageStart gt 0>> <br>
<<if $pageStart gt 0>> <<link "Previous page" "Perk Shop">>
<<set $pageStart -= 8>> <<set $pageEnd -= 8>>
<</link>>
<<else>> Previous page <</if>> |
<<if _i lt setup.craftList[$craftMenu].length>> <<link "Next page" "Perk Shop">>
<<set $pageStart += 8>> <<set $pageEnd += 8>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<br>
<</if>>
<br> TIP: Some perks will only show up if you meet certain requirements.<<set $perkPoint to [0, 0, 0, 0, 0]>> <<set $xpProg to 0>> <<set $xpLevel to 0>> <<set $xpGoal to 1000>> <<set $perkList to []>>
<<set $disabledPerkMoves to []>>
<<set $perkMoves to []>>
<<set $perk to {
luck: 0,
creditGainBonus: 0,
socialBonus: 0,
sleepComfort: 60,
fightComfort: 0,
orgasmComfort: 0,
creditComfort: 0,
mentalLoss: 0,
vengefulMental: 0,
compliantMental: 0,
lewdMental: 0,
pureMental: 0,
powerRecharge: 0,
prostBonus: 0,
crimeDiv: 100,
Physical: 0,
Electric: 0,
Toxic: 0,
Thermal: 0,
Cryo: 0,
Magnetic: 0,
}>><-- <<link "Close Status">> <<goto $location>> <</link>> <br> <br>
<<if $citizenship is 0 and $debug>>
<span style="color:gold"> You have an F-tier citizenship ID, </span> the lowest one available.
<br> <br>
<</if>>
<<include "Player Description">> <br> <br>
<<if $fluid.length gt 0>>
<<for _i to 0; _i lt $fluid.length; _i++>> <<capture _i>>
<<set _idFluid to $fluid[_i][0]>>
<span style="color:violet">
<<if $fluid[_i][2] lte 10>> Your <<= $fluid[_i][1]>> is wet with <<= setup[_idFluid].name>>.
<<elseif $fluid[_i][2] lte 50>> Your <<= $fluid[_i][1]>> is dripping with <<= setup[_idFluid].name>>.
<<elseif $fluid[_i][2] lte 200>> Your <<= $fluid[_i][1]>> is soaked with <<= setup[_idFluid].name>>.
<<elseif $fluid[_i][2] gt 200>> Your <<= $fluid[_i][1]>> is drenched with <<= setup[_idFluid].name>>.
<</if>>
</span>
<</capture>>
<</for>> ($totalFluid) <br> <br>
<</if>>
<span data-nokeys="true">
<<include "Player Clothing">> <br> <br>
</span>
<<link "Body parts" "Body">><</link>> --
<<link "Traits" "Traits">> <</link>> --
<<link "Skills" "Skills">> <</link>> --
<<link "Mental" "Personality">> <</link>> --
<<link "Memories" "Stats">> <</link>>
<<if $debug is 1>>
-- <<link "All scores" "All Scores Testing">> <</link>> (test) <</if>>
<br> <br>
<span style="color:gold">LEVEL $xpLevel </span> ($xpProg/$xpGoal)
<br> <br>
<span data-nokeys="true">
<<for _i = 0; _i lt setup.att.length; _i++>> <<capture _i>>
<<link "<span style='color:aqua'> <<= setup.att[_i]>> [?] </span>">><<dialog>><<= setup.attDesc[_i]>><</dialog>><</link>>: <span style="color:gold"> $att[_i]</span><<if $attBonus[_i] gt 0>>+$attBonus[_i]<<elseif $attBonus[_i] lt 0>><span style="color:red"> $attBonus[_i] </span><</if>> (<<= Math.trunc(($attProg[_i] /$attGoal[_i]) *100)>>%)
<<if $attMult[_i] isnot 20>> | <span style="color:orange"> <<= Math.clamp($attMult[_i] *5, 20, 10000)>>% Multiplier </span> <</if>>
<<if $attRate[_i] isnot 20>> | <span style="color:limegreen"> <<= ($attRate[_i] *5)>>% Gain Rate </span> <</if>>
<br>
<</capture>>
<</for>>
</span>
<<if $permStatus.length gt 0>> <br>
<<for _i to 0; _i lt $permStatus.length; _i++>> <<capture _i>>
<<set _id to $permStatus[_i]>>
<<= setup[_id].name>> (<span style="color:red">Persistent</span>) | <span style="color:aqua"> <<itemDesc>> </span>
<</capture>>
<br> <</for>>
<</if>>
<<if $status.length gt 0>> <br>
<<for _i to 0; _i lt $status.length; _i++>> <<capture _i>>
<<set _id to $status[_i][0]>>
<<= setup[_id].name>> <<showTime $status[_i][1]>> | <span style="color:aqua"> <<itemDesc>> </span>
<</capture>>
<br> <</for>>
<</if>><-- <<link "Back to Status screen" "Status">> <</link>> <br> <br>
<<set _hideRemove to 1>> <em> You can install parts from your bathroom. </em> <br> <br>
<<include "Installed Parts List">>
<br>
You have $body.internal.length internal node slots. <br> <br>
<<for _i to 0; _i lt $body.internal.length; _i++>> <<capture _i>>
<<if $body.internal[_i] isnot "none">> <<set _id to $body.internal[_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $body.internal[_i][2] isnot undefined>> (<<= $body.internal[_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $body.internal[_i][1]>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <</capture>> <<else>> Empty Node Slot <</if>>
<br>
<</capture>> <</for>><-- <<link "Back to Status screen" "Status">> <</link>> <br> <br>
<<for _key, _value range $skill>>
<span style="color:aqua"> <<= _key>>: </span> <span style="color:gold"> <<= _value>> </span> <<if $skillBonus[_key] gt 0>>+$skillBonus[_key]<</if>> (<<= Math.trunc(($skillProg[_key] /$skillGoal[_key]) *100)>>%) <br>
<</for>><-- <<link "Back to Status screen" "Status">> <</link>>
<<if $traumaTracker is 1>> <br> <br>
Your unsolved Trauma is at <<percent $trauma 14400 red>> ($trauma). This means your Mental decays <span style="color:yellow">faster</span> when above <<set _mental to $maxNeed[3] -($trauma *2)>> <<percent _mental $maxNeed[3] green>>, <span style="color:orange">much faster</span> when above <<set _mental to $maxNeed[3] -($trauma)>> <<percent _mental $maxNeed[3] green>> and <span style="color:red">fastest</span> when above <<set _mental to $maxNeed[3] -($trauma /2)>> <<percent _mental $maxNeed[3] green>>.
<br> <br>
Everything you've achieved in life contributes to fixing some of your trauma every day ($dailyTraumaFix). Fixed trauma isn't completely gone, though... ($fixedTrauma)
<<if $debug is 1>>
<br> <br>
<<for _key, _value range $addiction>>
<span style="color:aqua"> <<= _key>>: <span style="color:gold"> <<= $timeAddiction[_key]>> </span> / </span> <span style="color:gold"> <<= _value>> </span> <br>
<</for>>
<</if>>
<</if>>
<h3> Personality </h3>
<<for _key, _value range $personality>>
<span style="color:aqua"> <<= _key>>: </span> <span style="color:gold"> <<= _value>> </span> <br>
<</for>><-- <<link "Back to Status screen" "Status">> <</link>> <br> <br>
Total time: <<showTime $totalTime>> <br> <br>
<<if $memory is undefined>> <<set $memory to []>> <</if>>
<<link "See special memories" "Special Memories">> <<set $pageStart to 0>> <<set $pageEnd to 12>> <</link>> ($memory.length/<<= setup.specialMemory.length>>)
<br> <br>
Fights: $gameStat.fights <br>
Victories: $gameStat.victories <br>
Surrender: $gameStat.surrender <br>
Enemies defeated: $gameStat.enemiesDefeated <br>
<br>
Orgasms experienced: $gameStat.playerOrgasms <br>
Orgasms given: $gameStat.partnerOrgasms <br>
<br>
Sexually assaulted: $gameStat.raped <br>
Whored out: $gameStat.whored <br>
<br>
Caught by police: $gameStat.caughtByPolice <br>
<br>
<<if $debug is 1>>
<<= $visit.join(", ")>>
<</if>><-- <<link "Back to Status screen" "Status">> <</link>> <br> <br>
<<for _key, _value range $bodyStat>>
<span style="color:aqua"> <<= _key>>: </span> <span style="color:gold"> <<= _value>> </span> <br>
<</for>>
<br>
<<for _key, _value range $playerStat>>
<span style="color:aqua"> <<= _key>>: </span> <span style="color:gold"> <<= _value>> </span> <br>
<</for>>
<br>
<<for _key, _value range $perk>>
<span style="color:aqua"> <<= _key>>: </span> <span style="color:gold"> <<= _value>> </span> <br>
<</for>><<widget "attTip">> <span style="color:gold"> <<= setup.att[_args[0]]>> </span> <</widget>>
<<widget "skillTip">> <span style="color:aqua"> <<= _args[0]>> </span> <</widget>>
<<widget "needGainTip">> | <span style="color:limegreen"> <<= setup.needs[_args[0]]>>+ </span> <</widget>>
<<widget "needLossTip">> | <span style="color:red"> <<= setup.needs[_args[0]]>>- </span> <</widget>>
<<widget "negTip">> | <span style="color:red"> <<= setup.neg[_args[0]]>>+ </span> <</widget>>
<<widget "lewdTip">> | <span style="color:hotpink"> Lewd </span> <</widget>>
<<widget "pureTip">> | <span style="color:pink"> Pure </span> <</widget>>
<<widget "showCheck">>
<<set _atrA to _args[2]>> <<set _percent to Math.clamp(Math.trunc((((($att[_args[0]] +$attBonus[_args[0]]) *(Math.clamp($attMult[_args[0]], 4, 100) /20)) -_args[1]) /_atrA) *100), 0, 100)>>
<span style="color:gold">
🎲 <<= setup.att[_args[0]]>>
<<percent _percent 100 green>>
</span>
<<if $advantage gt 0>> --
<<if $smartAdvantage is undefined>> <<set $smartAdvantage to 0>> <</if>>
<<if $smartAdvantage is 0>>
<<set $useAdvantage to 0>>
<<elseif $smartAdvantage is 1>>
<<if _percent lte 50>> <<set $useAdvantage to 1>> <<else>> <<set $useAdvantage to 0>>
<</if>>
<</if>>
<label> <<checkbox "$useAdvantage" 0 1 autocheck>> <span style="color:aqua"> Advantage (<<= $advantage>>)</span> </label>
<<link "[?]">> <<dialog>> Automatically check the Advantage box if chance to pass is 50% or less. <<checkbox "$smartAdvantage" 0 1 autocheck>> <</dialog>> <</link>>
<</if>>
<</widget>>
<<widget "showSkillCheck">>
<<set _atrA to _args[2]>>
<span style="color:gold">
🎲 <<= setup.att[_args[0]]>>
<<= Math.clamp(Math.trunc((($skill[_args[0]] -_args[1]) /_atrA) *100), 0, 100)>>%
</span>
<</widget>>
<<widget "payTip">>
<span style="color:orange"> _args[0] Credits </span>
<</widget>><<widget "attCheck">>
<<set _atrA to _args[2]>> <<set _rolls to 1>>
<<if _args.includes("noAdv") is false and $useAdvantage is 1 and $advantage gt 0>> <<set _rolls to 2>> <<set $advantage -= 1>> <<set $message.push("<span style='color:aqua'>You use some Confidence! </span>")>> <</if>>
<<set _attCheck to Math.trunc(($att[_args[0]] +$attBonus[_args[0]]) *(Math.clamp($attMult[_args[0]], 4, 100) /20))>> <<if _attCheck lt 0>> <<set _attCheck to 0>> <</if>>
<<for _rolls gt 0>>
<<if _args.includes("weighted") is false>>
<<set _atrB to random(_args[1], _atrA)>> <<else>> <<set _atrB to random(_args[1], _atrA +_attCheck)>> <</if>>
<<set _rolls -= 1>> <<if _atrB lte _attCheck>> <<set _rolls to 0>> <</if>>
<</for>>
<<if _atrB lte _attCheck>>
<<set $success to 1>>
<<else>>
<<set $success to 0>>
<<if _args[3] is undefined>> <<set _toGain to 10>> <<else>> <<set _toGain to _args[3]>> <</if>>
<<if _toGain gt 0>>
<<set _message to "<<gainAtt " + _args[0] + " " + _toGain + ">>">> <<set $message.push(_message)>>
<</if>>
<</if>>
<</widget>>
<<widget "attRange">> <<set _attR to Math.trunc(($att[_args[0]] +$attBonus[_args[0]]) *(Math.clamp($attMult[_args[0]], 4, 100) /20))>>
<<set _attR -= 10>> <<set _attR *_args[3]>>
<<set _ran to Math.trunc(random(_args[1], _args[2]) *(1 +(_attR /10)))>>
<<if _ran lt 0>> <<set _ran to 0>> <</if>>
<</widget>>
<<widget "attRangeShow">> <<set _attR to Math.trunc(($att[_args[0]] +$attBonus[_args[0]]) *(Math.clamp($attMult[_args[0]], 4, 100) /20))>>
<<set _attR -= 10>> <<set _attR *_args[3]>>
<<set _a1 to Math.trunc(_args[1] *(1+ (_attR /10)))>>
<<set _a2 to Math.trunc(_args[2] *(1 +(_attR /10)))>>
_a1 to _a2
<</widget>>
<<widget "gainRep">>
<span style="color:gold"> Your <<= setup.rep[_args[0]]>> Reputation increases! </span>
<<set _gain to _args[1]>>
<<= $rep[_args[0]]>> (<<= Math.trunc(($repProg[_args[0]] /$repGoal[_args[0]]) *100)>>%) -->
<<set $repProg[_args[0]] += _gain * $repRate[_args[0]]>>
<<if $rep[_args[0]] lt 5>>
<<for $repProg[_args[0]] gte $repGoal[_args[0]]>>
<<set $rep[_args[0]] += 1>> <<set $repProg[_args[0]] -= $repGoal[_args[0]]>> <<set $totalRep += 1>>
<<set $repGoal[_args[0]] += 2500>>
<</for>> <</if>> <<= $rep[_args[0]]>> (<<= Math.trunc(($repProg[_args[0]] /$repGoal[_args[0]]) *100)>>%)
<</widget>>
<<widget "gainNegRep">>
<span style="color:gold"> Your <<= setup.negRep[_args[0]]>> Reputation increases! </span>
<<set _gain to _args[1] *$negRepRate[_args[0]]>> <<if $playerStat.FaceCover gt 0>> <<set _gain to Math.trunc(_gain *0.7)>> <</if>>
<<= $negRep[_args[0]]>> (<<= Math.trunc(($negRepProg[_args[0]] /$negRepGoal[_args[0]]) *100)>>%) -->
<<set $negRepProg[_args[0]] += _gain>>
<<if $negRep[_args[0]] lt 5>>
<<for $negRepProg[_args[0]] gte $negRepGoal[_args[0]]>>
<<set $negRep[_args[0]] += 1>> <<set $negRepProg[_args[0]] -= $negRepGoal[_args[0]]>> <<set $totalRep += 1>>
<<set $negRepGoal[_args[0]] += 2500>>
<</for>> <</if>> <<= $negRep[_args[0]]>> (<<= Math.trunc(($negRepProg[_args[0]] /$negRepGoal[_args[0]]) *100)>>%)
<</widget>>
<<widget "loseRep">>
<span style="color:red"> Your <<= setup.rep[_args[0]]>> Reputation decreases! </span>
<<= $rep[_args[0]]>> (<<= Math.trunc(($repProg[_args[0]] /$repGoal[_args[0]]) *100)>>%) -->
<<set $repProg[_args[0]] -= _args[1] * $repRate[_args[0]]>>
<<if $rep[_args[0]] gt 0>>
<<for $repProg[_args[0]] lt 0>>
<<set $rep[_args[0]] -= 1>> <<set $totalRep -= 1>>
<<set $repProg[_args[0]] += $repGoal[_args[0]]>>
<<set $repGoal[_args[0]] -= 1200>>
<<if $repGoal[_args[0]] lt 1200>><<set $repGoal[_args[0]] = 1200>><</if>>
<</for>>
<<else>> <<set $repProg[_args[0]] to Math.clamp($repProg[_args[0]], 0, $repGoal[_args[0]])>>
<</if>>
<<= $rep[_args[0]]>> (<<= Math.trunc(($repProg[_args[0]] /$repGoal[_args[0]]) *100)>>%)
<</widget>>
<<widget "loseNegRep">>
<span style="color:gold"> Your <<= setup.negRep[_args[0]]>> Reputation decreases! </span>
<<= $negRep[_args[0]]>> (<<= Math.trunc(($negRepProg[_args[0]] /$negRepGoal[_args[0]]) *100)>>%) -->
<<set $negRepProg[_args[0]] -= _args[1] * $negRepRate[_args[0]]>>
<<if $negRep[_args[0]] gt 0>>
<<for $negRepProg[_args[0]] lt 0>>
<<set $negRep[_args[0]] -= 1>> <<set $totalRep -= 1>>
<<set $negRepProg[_args[0]] += $negRepGoal[_args[0]]>>
<<set $negRepGoal[_args[0]] -= 1000>>
<<if $negRepGoal[_args[0]] lt 1000>><<set $negRepGoal[_args[0]] = 1000>><</if>>
<</for>>
<<else>> <<set $negRepProg[_args[0]] to Math.clamp($negRepProg[_args[0]], 0, $negRepGoal[_args[0]])>>
<</if>>
<<= $negRep[_args[0]]>> (<<= Math.trunc(($negRepProg[_args[0]] /$negRepGoal[_args[0]]) *100)>>%)
<</widget>>
<<widget "gainAdv">>
<span style="color:gold"> Your Confidence increases! </span>
You gain 1 daily Advantage in attribute checks.
<<set $dayAdvantage += 1>> <<set $advantage += 1>>
<</widget>>
<<widget "gainAtt">> <<set _g to _args[1]>>
<span style="color:gold"> Your <<= setup.att[_args[0]]>> increases! </span> (<<= _g * $attRate[_args[0]]>>)
<<= $att[_args[0]]>> (<<= Math.trunc(($attProg[_args[0]] /$attGoal[_args[0]]) *100)>>%) -->
<<set $attProg[_args[0]] += _g * $attRate[_args[0]]>>
<<for $attProg[_args[0]] gte $attGoal[_args[0]] and $att[_args[0]] lt 30>>
<<set $att[_args[0]] += 1>> <<set $attProg[_args[0]] -= $attGoal[_args[0]]>>
<<set $attGoal[_args[0]] += 500>>
<</for>> <<= $att[_args[0]]>> (<<= Math.trunc(($attProg[_args[0]] /$attGoal[_args[0]]) *100)>>%)
<</widget>>
<<widget "skillCheck">>
<<set _atrA to _args[2]>>
<<set _atrB to random(_args[1], _atrA)>>
<<set _attCheck to $skill[_args[0]] + $skillBonus[_args[0]]>>
<<if _atrB lte _attCheck>>
<<set $success to 1>>
<<else>>
<<set $success to 0>>
<<set _message to "<<gainSkill " + _args[0] + " " + random(10, 20) + ">>">> <<set $message.push(_message)>>
<</if>>
<</widget>>
<<widget "gainSkill">>
<<if $skillGoal[_args[0]] lt 8000>>
<span style="color:aqua"> Your _args[0] improves! </span>
<<= $skill[_args[0]]>> (<<= Math.trunc(($skillProg[_args[0]] /$skillGoal[_args[0]]) *100)>>%) -->
<<set $skillProg[_args[0]] += random(_args[1], _args[2]) * $att[3]>>
<<for $skillProg[_args[0]] gte $skillGoal[_args[0]]>>
<<set $skill[_args[0]] += 1>> <<set $skillProg[_args[0]] -= $skillGoal[_args[0]]>>
<<set $skillGoal[_args[0]] += 150>>
<</for>> <<= $skill[_args[0]]>> (<<= Math.trunc(($skillProg[_args[0]] /$skillGoal[_args[0]]) *100)>>%)
<<else>> Your _args[0] is maxxed. <</if>>
<</widget>>
<<widget "skillRandom">> <<set _ran to random(_args[1], _args[2])>>
<<set _skill to $skill[_args[0]] + $skillBonus[_args[0]]>> <<if _args[3] isnot undefined>> <<set _skill *= _args[3]>> <</if>>
<<set _ran += Math.trunc(_ran *(_skill /20))>>
<</widget>>
<<widget "seductionCheck">> <<if _args[2] isnot undefined>> <<set _toGain to _args[2]>> <<else>> <<set _toGain to 10>> <</if>>
<<set _charTotal to (($att[2] +$attBonus[2]) *(Math.clamp($attMult[2], 4, 100) /20))>>
<<set _sexTotal to (($att[5] +$attBonus[5]) *(Math.clamp($attMult[5], 4, 100) /20))>>
<<set _seduction to (_charTotal +_sexTotal *(($playerStat.Beauty -45) /100))>>
<<set _seduction to (_seduction *Math.clamp(2 -(($playerStat.UpperCover +$playerStat.LowerCover) /200), 0.5, 2))>>
<<set _seduction to (_seduction *(1 +($skill.Seduction /20)))>>
<<set _seduction to Math.trunc(_seduction /3)>>
<<set _check to random(_args[0], _args[1] +_seduction)>>
<<if _check lte _seduction>> <<set $success to 1>> <<gainSkill Seduction 5 _toGain>> <<else>> <<set $success to 0>> <</if>>
<</widget>>
<<widget "showSeduction">>
<<set _charTotal to Math.trunc(($att[2] +$attBonus[2]) *(Math.clamp($attMult[2], 4, 20) /20))>>
<<set _sexTotal to Math.trunc(($att[5] +$attBonus[5]) *(Math.clamp($attMult[5], 4, 20) /20))>>
<<set _seduction to Math.trunc(_charTotal +_sexTotal *( ($playerStat.Beauty -45) /100))>>
<<set _seduction to (_seduction *Math.clamp(2 -(($playerStat.UpperCover +$playerStat.LowerCover) /200), 0.5, 2))>>
<<set _seduction to (_seduction *(1 +($skill.Seduction /20)))>>
<<set _seduction to Math.trunc(_seduction /3)>>
<span style="color:hotpink">🎲 Seduction </span> <span style="color:gold"> <<= Math.clamp(Math.trunc(((_seduction -_args[0]) /(_args[1] +_seduction)) *100), 0, 100)>>%</span>
<</widget>><-- <<link "Leave recordings">> <<goto $location>> <</link>>
<br> <br>
<<link "See check list" "Quest List">> <</link>>
<br> <br>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $record.length>> <<capture _i>>
<<link "$record[_i][0]" "Record">> <<set $recording to $record[_i][1]>> <</link>> - <<linkreplace "Delete">> <<link "Are you sure you want to delete this recording? This can't be undone.">> <<set $record.deleteAt(_i)>> <</link>> <</linkreplace>>
<</capture>>
<br> <br> <</if>> <</for>>
<<if $record.length gt 10>>
<<if $pageStart gt 0>> <<link "Previous page" "Recordings">>
<<set $pageStart -= 10>> <<set $pageEnd -= 10>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $record.length>> <<link "Next page" "Recordings">>
<<set $pageStart += 10>> <<set $pageEnd += 10>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><-- <<link "Go back">> <<goto "Recordings">> <</link>> <br> <br>
<<include $recording>><-- <<link "Leave check list">> <<goto $location>> <</link>>
<br> <br>
<<link "See recordings" "Recordings">> <</link>>
<br> <br>
<<for _i to 0; _i lt $quest.length; _i++>> <<capture _i>>
<div class="cardBox">
<<set _id to $quest[_i][0]>>
<<= setup[_id].name>> [Progress <<= $quest[_i][1]>>/<<= setup[_id].max>>] --
<<if setup[_id].timeLimit isnot undefined>>
Time left: <<set _timeLeft to setup[_id].timeLimit -($totalTime -$quest[_i][2])>> <<showTime _timeLeft>>
<</if>>
<br>
<span style="color:aqua"> <<itemDesc>> </span>
</div> <</capture>> <</for>>
<<if $undercityItem.length gt 0>> <h3> Undercity Quests </h3>
<<for _i to 0; _i lt $undercityItem.length; _i++>> <<capture _i>>
<div class="cardBox">
<<set _id to $undercityItem[_i][0]>>
<<= setup[_id].name>> [Coordenates <<= $undercityItem[_i][1]>>/<<= $undercityItem[_i][2]>>] --
<<if $undercityItem[_i][3]>>
Time left: <<showTime $undercityItem[_i][3]>>
<</if>>
<br>
<span style="color:aqua"> <<itemDesc>> </span>
</div> <</capture>> <</for>>
<</if>><<widget "addQuest">>
<<set $quest.push([_args[0], 0, $totalTime])>>
<<set $message.push("New quest added to your checklist: " + setup[_args[0]].name)>>
<</widget>>
<<widget "addUndercityQuest">>
<<set $undercityItem.push([_args[0], _args[1], _args[2], _args[3] ])>>
<<set $message.push("New quest added to your checklist: " + setup[_args[0]].name)>>
<</widget>>
<<widget "questFlag">>
<<if _args[1] is undefined>> <<set _prog to 1>> <<else>> <<set _prog to _args[1]>> <</if>>
<<for _q to 0; _q lt $quest.length; _q++>>
<<if setup[$quest[_q][0]].flag isnot undefined and setup[$quest[_q][0]].flag.includes(_args[0])>> <<set $quest[_q][1] += _prog>>
<<set _message to "Checklist --> " + setup[$quest[_q][0]].name + " (Progress " + $quest[_q][1] + "/" + setup[$quest[_q][0]].max + ")">>
<<set $message.push(_message)>>
<<if $quest[_q][1] gte setup[$quest[_q][0]].max>>
<<set $message.push("Done: " + setup[$quest[_q][0]].name + "! " + setup[$quest[_q][0]].reward)>> <<set $quest.deleteAt(_q)>>
<</if>> <</if>>
<</for>>
<<if $happyAssignment isnot undefined>>
<<for _q to 0; _q lt $happyAssignment.length; _q++>>
<<if setup[$happyAssignment[_q][0]].flag isnot undefined and setup[$happyAssignment[_q][0]].flag.includes(_args[0])>> <<set $happyAssignment[_q][1] += _prog>>
<<set _message to "Happy Thoughts --> " + setup[$happyAssignment[_q][0]].name + " (Progress " + $happyAssignment[_q][1] + "/" + setup[$happyAssignment[_q][0]].max + ")">>
<<set $message.push(_message)>>
<<if $happyAssignment[_q][1] gte setup[$happyAssignment[_q][0]].max>>
<<set $message.push("Done: " + setup[$happyAssignment[_q][0]].name + "! Upload your memory and claim your reward!")>>
<</if>> <</if>>
<</for>> <</if>>
<</widget>>
<<widget "questFail">>
<<for _q to $quest.length -1; _q gte 0; _q-->>
<<if setup[$quest[_q][0]].flag isnot undefined and setup[$quest[_q][0]].flag.includes(_args[0])>>
<<set _message to "Checklist --> You failed " + setup[$quest[_q][0]].name + "! " + setup[$quest[_q][0]].fail>>
<<set $quest.deleteAt(_q)>>
<<set $message.push(_message)>>
<</if>>
<</for>>
<</widget>><<widget "addRecord">>
<<set $message.push("New recording added to your journal: <span style='color:gold'>" + _args[0] + "</span>")>>
<<set $record.push([_args[0], _args[1]])>>
<</widget>><-- <<link "Close mail">> <<goto $location>> <</link>>
<br> <br>
The mail you receive comes from long, spacious plastic cilinders. Once opened they must be returned.
<br> <br>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $mail.length>> <<capture _i>>
<span style="color:gold"> <<= $mail[_i][0]>> </span> - <<link "Open" "Mail Open">>
<<set $openMail to $mail[_i][1]>> <<set $mail.deleteAt(_i)>> <</link>>
<</capture>>
<br> <</if>> <</for>>
<<if $mail.length gt 10>>
<<if $pageStart gt 0>> <<link "Previous page" "Mail">>
<<set $pageStart -= 10>> <<set $pageEnd -= 10>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $mail.length>> <<link "Next page" "Mail">>
<<set $pageStart += 10>> <<set $pageEnd += 10>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><<widget "addMail">>
<<set $mail.push([_args[0], _args[1]])>>
<<set $message.push("<span style='color:gold'>Mail Ping</span> --> Check your mail box!")>>
<</widget>><-- <<link "Close message">> <<goto $location>> <</link>>
<br> <br>
<<include $openMail>>You open the orange cilinder. Inside there's a message written in a square piece of factory paper, and a credit chip at the bottom. <br> <br>
"Welcome to the New Life Residential Center!" reads the message. "We hope to help you start your very own life. To get you started, please accept this credit chip. Food and other ammenities will be provided at the center proper. Thank you for giving us this chance!"
<br> <br>
<<gainCred 100>><<widget "playerPersonality">>
<<set $personality[_args[0]] to Math.clamp($personality[_args[0]] +_args[1], -200, 200)>>
<<if _args[0] is "Vengeful">>
<<if _args[1] gt 0>> <<set _gain to _args[1] *$perk.vengefulMental>>
<<elseif _args[1] lt 0>> <<set _gain to Math.abs(_args[1]) *$perk.compliantMental>>
<</if>>
<<set _gain *= 2>>
<<if _gain gt 0>>
<<gainNeed 3 _gain>>
<<elseif _gain lt 0>> <<set _gain to Math.abs(_gain)>>
<<loseNeed 3 _gain>>
<</if>>
<<elseif _args[0] is "Lewd">>
<<if _args[1] gt 0>> <<set _gain to _args[1] *$perk.lewdMental>>
<<elseif _args[1] lt 0>> <<set _gain to Math.abs(_args[1]) *$perk.pureMental>>
<</if>>
<<set _gain *= 2>>
<<if _gain gt 0>>
<<gainNeed 3 _gain>>
<<elseif _gain lt 0>> <<set _gain to Math.abs(_gain)>>
<<loseNeed 3 _gain>>
<</if>>
<</if>>
<</widget>>
<<widget "compliantTip">>
<span style="color:violet"> Compliant </span>
<</widget>>
<<widget "vengefulTip">>
<span style="color:red"> Vengeful </span>
<</widget>>You are a synthetic $player.noun. You have <<playerHairLength>> $physical.hair.color hair.
<<set _bodyScore to {}>> <<set _totalScore to 0>>
<<for _key, _value range $bodyStat>>
<<set _totalScore += _value>>
<</for>>
<<for _key, _value range $bodyStat>>
<<if _value gt 0>> <<set _bodyScore[_key] to Math.trunc((_value /_totalScore) *100)>> <</if>>
<</for>>
<<set _sortedBodyScore to {}>>
<<set _sortedKeys to Object.keys(_bodyScore).sort(function(a, b) { return _bodyScore[b] - _bodyScore[a]; })>>
<<for _key range _sortedKeys>>
<<if _bodyScore[_key] gt 0>> <<set _sortedBodyScore[_key] to _bodyScore[_key]>> <</if>>
<</for>>
<<for _key, _value range _sortedKeys>>
<<if _bodyScore[_value] is 100>> <<if _value is "human">> You look <span style="color:gold">entirely human</span>, just as you were designed to be
<<else>> You look entirely _value-like<<if setup.playerTf[_value] isnot undefined>><<= setup.playerTf[_value]>><</if>> <</if>>
<<elseif _bodyScore[_value] gte 90>> You look <span style="color:gold">almost entirely _value-like</span>
<<elseif _bodyScore[_value] gte 75>> You look <span style="color:gold">mostly _value-like</span>
<<elseif _bodyScore[_value] gte 50>> You look <span style="color:gold">predominantly _value-like</span>
<<elseif _bodyScore[_value] gte 35>> You have <span style="color:gold">major _value traits</span>
<<elseif _bodyScore[_value] gte 20>> You have <span style="color:gold">significant _value traits</span>
<<elseif _bodyScore[_value] gte 10>> You have <span style="color:gold">moderate _value traits</span>
<<else>> You have <span style="color:gold">minor _value traits</span>
<</if>> <span style="color:aqua">(<<= _bodyScore[_value]>>%)</span>.
<</for>>
Based on your clothing and appearance, you're considered
<<if $playerStat.Beauty lte 50>>
<span style="color:red"> physically repulsive. </span>
<<elseif $playerStat.Beauty lte 100>>
<span style="color:orange"> unattractive. </span>
<<elseif $playerStat.Beauty lte 130>>
<span style="color:yellow"> average. </span>
<<elseif $playerStat.Beauty lte 150>>
<span style="color:limegreen"> good-looking. </span>
<<elseif $playerStat.Beauty lte 180>>
<span style="color:violet"> attractive. </span>
<<elseif $playerStat.Beauty lte 210>>
<span style="color:hotpink"> pretty. </span>
<<elseif $playerStat.Beauty lte 250>>
<span style="color:hotpink"> beautiful. </span>
<<elseif $playerStat.Beauty lte 300>>
<span style="color:hotpink"> extremely beautiful. </span>
<<else>>
<span style="color:gold"> otherwordly beautiful. </span>
<</if>>
($playerStat.Beauty)
<<if $playerStat.Bondage gt 0>>
<span style="color:red">You are wearing bondage.</span>
<</if>>
<<if $playerStat.Degrading gt 0>>
<span style="color:red">You are wearing degrading clothing.</span>
<</if>>
<br> <br> Like every machine, your body is made of individual components.
<<if $body.modScore is 0>>All your parts are designed to look perfectly natural. ($body.modScore)
<<elseif $body.modScore lte 10>>Your body parts deviate slightly from what's considered normal, but not enough to garner much attention. ($body.modScore) -->
<<elseif $body.modScore lte 50>>Your body deviates significantly from the natural form. ($body.modScore) -->
<<elseif $body.modScore lte 100>>Your body is so notable different mostly everyone would judge you for it. ($body.modScore) -->
<<elseif $body.modScore gt 100>>Your body is uniquely unlike all but the most altered of beings, so almost everyone will look at you warily. ($body.modScore) -->
<</if>>
<<for _key, _value range $body.external>>
<<if _value isnot "none">>
<<if setup[_value[0]].show is 1>> Your <span style="color:gold">_key</span> <<= setup[_value[0]].look>> <</if>>
<</if>>
<</for>>
<<if $playerStat.Regen lt 0>> <span style="color:orange"> Some of your parts are damaged, so you're losing Health with time. </span> (<<= Math.abs($playerStat.Regen)>>) <</if>>
<br> <br>
<<if $body.external.vagina isnot "none" or $body.external.breasts isnot "none">> <<if $body.external.penis isnot "none">> You have both feminine and masculine sexual parts. <<else>> You have feminine sexual parts. <</if>> <<elseif $body.external.penis isnot "none">> You have masculine sexual parts. <<else>> You don't have any sexual parts. <</if>> <<if $body.external["breasts"] isnot "none">>
You have <<playerBreastSize>> <<playerBreasts>>.
<</if>>
<<if $body.external["penis"] isnot "none">>
You have a <<playerPenisSize>> <<playerPenis>>.
<</if>>
<<if $body.external["vagina"] isnot "none">>
You have a <<playerVagina>>.
<</if>><<widget "playerHairLength">>
<<set _len to $physical.hair.length>>
<<if _len lte 0>>
bald
<<elseif _len lte 2>>
buzz cut
<<elseif _len lte 5>>
very short
<<elseif _len lte 8>>
short
<<elseif _len lte 10>>
medium-length
<<elseif _len lte 13>>
shoulder-length
<<elseif _len lte 16>>
long
<<elseif _len lte 20>>
very long
<<elseif _len lte 30>>
waist-length
<<elseif _len lte 40>>
hip-length
<<elseif _len lte 50>>
thigh-length
<<elseif _len lte 60>>
knee-length
<<elseif _len lte 70>>
ankle-length
<<else>>
extremely long
<</if>>
<</widget>><<widget "applyStatus">> <<set _stated to 0>>
<<set _state to [_args[0], _args[1]]>>
<<if setup[_state[0]].nonStack is undefined>>
<<for _z to 0; _z lt $status.length; _z++>>
<<if $status[_z][0] is _state[0]>>
<<set $status[_z][1] += _args[1]>>
<<set _stated to 1>> <<set _z to $status.length>>
<</if>>
<</for>>
<</if>>
<<if _stated is 0>>
<<set $status.push(_state)>> <<= setup[_state[0]].applyEffect>>
<</if>>
<<set _message to "You get <<showTime " + _args[1] + ">> of " + setup[_state[0]].name + "! (" + setup[_state[0]].desc + ")">>
<<set $message.push(_message)>>
<</widget>>
<<widget "applyPermStatus">> <<set _stated to 0>>
<<set _state to _args[0]>>
<<set $permStatus.push(_state)>> <<= setup[_state].applyEffect>>
<<set _message to "You get " + setup[_state].name + "! (" + setup[_state].desc + ")">>
<<set $message.push(_message)>>
<<set $message.push("You got affected by a persistent debuff! Visit a synth clinic to recover.")>>
<</widget>><-- <<link "Back to Status screen" "Status">> <</link>> <br> <br>
<<for _i to 0; _i lt $trait.length; _i++>>
<<capture _i>>
<<set _id to $trait[_i]>>
<<capture _id>>
+ <span data-nokeys="true"> <<link "<<= setup[_id].name>> [?]">> <<dialog>> <<= setup[_id].desc>> <br> <br> <span style="color:aqua"><<= setup[_id].exp>> </span> <</dialog>> <</link>> </span>
<br>
<</capture>>
<</capture>>
<</for>><<widget "changeTrait">>
<<for _i to 0; _i lt $trait.length; _i++>>
<<if $trait[_i] is _args[0]>>
<<set _prev to setup[$trait[_i]].name>>
<<set $trait[_i] to _args[1]>>
<<set _after to setup[$trait[_i]].name>>
<<set $message.push("Your " + _prev + " trait changed to " + _after + "!")>>
<<= setup[_args[0]].end>>
<<= setup[_args[1]].start>>
<</if>>
<</for>>
<</widget>><<if _passout is undefined>>
You are in your personal apartment.
<<include "Apartment Description">>
<<set _insDesc to []>>
<<for _in to 0; _in lt $apartmentSlots.length; _in++>>
<<if $apartmentSlots[_in] isnot "none">>
<<if $apartmentSlots[_in][1] gte setup.installList[$apartmentSlots[_in][0]].time>>
<<if setup.installList[$apartmentSlots[_in][0]].aptDesc isnot undefined and _insDesc.includes(setup.installList[$apartmentSlots[_in][0]].aptDesc) is false>>
<<set _insDesc.push(setup.installList[$apartmentSlots[_in][0]].aptDesc)>>
<</if>>
<<else>> <<set _insUnfinished to 1>>
<</if>>
<</if>>
<</for>>
<<if _insDesc.length is 0>>
<<else>>
<<print _insDesc.join(", ")>>
<</if>>
<<if _insUnfinished isnot undefined>> There's a few tools and miscellaneous materials around your unfinished projects. <</if>>
<br> <br>
Your mail box is next to the door. <<if $mail.length gt 0>> <span style="color:gold">You have mail.</span> <</if>> <br>
<<link "Open the mail box" "Mail">> <<set $location to passage()>> <</link>>
<br> <br>
You have a standard charging station on a corner.
<<if $dayFlag.CoreRecharge is undefined>>
<<if $power lt $maxPower>> <br> <<link "Charge Core Power" "Home">> <<set $dayFlag.CoreRecharge to 1>> <<passtime 30>> <<set $message.push("Core Power maxed out!")>> <<set $power to $maxPower>> <<set $ammo to {}>> <</link>> <<showTime 30>> <</if>>
<<else>>
<br> <span style="color:orange"> The charging station is locked for today. </span>
<</if>>
<br> <br>
<<link "Change or organize apartment..." "Home Decor">> <</link>>
<br> <br>
<<move "Go to bedroom" "Home Bedroom" 1>> <</move>> <br>
<<move "Go to kitchen" "Home Kitchen" 1>> <</move>> <br>
<<move "Go to bathroom" "Home Bathroom" 1>> <</move>>
<br> <br>
<<if $playerStat.UpperCover lte 10 or $playerStat.LowerCover lte 10>> <span style="color:red"> You are exposed. </span> You could go out anyways, but you can't expect it to be safe. <br> <</if>>
<<link "Leave apartment">> <<passtime 2>> <<set $location to "Residential Center">> <<event "Residential Center Walking By">> <</link>> <<showTime 2>>
<br> <br>
<<if _hideForPublicVersion>>
<<if $debug is 0 or $debug is undefined>> <<link "SEE DEBUG OPTIONS" "Home">> <<set $debug to 1>> <</link>> <</if>>
<<if $debug is 1>> <<link "UNSEE DEBUG OPTIONS" "Home">> <<set $debug to 0>> <</link>> <br> <br> <</if>>
<</if>>
<<if $debug is 1>>
<span data-nokeys="true">
<<link "Test Fight">> <<startFight>><<clearNPC>> <<createNPC SlumHuman>> <<loadEnemy 0>> <<mult 5>> <<equipEnemy 0 CommonHuman>> <</mult>> <<goto 'Fight'>> <<set $aftermath to "Home">> <</link>>
- <<link "Test Fight 2">> <<startFight>> <<createEnemy CityDefenseDrone 1>> <<goto 'Fight'>> <<set $aftermath to "Home">> <</link>>
<br>
<<link "Sex Scene" "Test Sex Scene">> <<clearNPC>> <<mult 9>> <<createNPC SlumHuman>> <</mult>> <<clearPartner>> <<createPartner 0>> <<createPartner 1>> <<createPartner 2>> <<createPartner 3 backup>> <<createPartner 4 backup>> <<createPartner 5 backup>> <<createPartner 6 backup>> <<createPartner 7 backup>> <<createPartner 8 backup>> <<setScene 1>> <<set $scene to "GangbangScene">> <<set $sceneBackground to "none">>
<<set $aftermath to "Home">> <</link>> --
<<link "Sex Scene 2" "Test Sex Scene">> <<clearNPC>> <<createNPC Synth>> <<clearPartner>> <<createPartner 0>> <<setScene 0>> <<set $scene to "GivingOralScene">> <<set $sceneBackground to "none">>
<<set $aftermath to "Home">> <</link>> <br>
<<link "6 hours forward" "Home">> <<passtime 360>> <<gainNeed 0 360>> <<gainNeed 1 360>> <<gainNeed 2 360>> <<gainNeed 3 360>> <</link>> $dayscript <br>
<<link "24 hours forward" "Home">> <<passtime 1440>> <<gainNeed 0 1440>> <<gainNeed 1 1440>> <<gainNeed 2 1440>> <<gainNeed 3 1440>> <</link>> $dayscript <br>
<<link "10000 Credits" "Home">> <<set $credit += 10000>> <</link>> <br>
<<link "Level Up" "Home">> <<gainXP $xpGoal>> <</link>>
</span>
<</if>>
<</if>>The scene is $scene. <br> <br>
<<include setup[$scene].desc>>
<br> <br> <<link "Endure">> <<goto "Scene">> <</link>><<if _passout is undefined>>
You are in your bedroom. <br> <br>
<<if $plushiesOnBed isnot undefined and $plushiesOnBed.length gt 0>> You have <span style="color:gold">$plushiesOnBed.length</span> plushies on your bed. <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<for _p to 0; _p lt $plushiesOnBed.length; _p++>> <<capture _p>> <<= setup[$plushiesOnBed[_p]].name>> -- <<link "Remove">>
<<lootItem 2 $plushiesOnBed[_p] 1>>
<<set $perk.sleepComfort -= setup[$plushiesOnBed[_p]].comfort>>
<<set $plushiesOnBed.deleteAt(_p)>>
<<goto "Home Bedroom">> <<dialogclose>>
<</link>> <br> <</capture>> <</for>> <</dialog>> <</link>> </span> <br> <br> <</if>>
[[Lay on your bed|Home Sleep]]
<<if $need[4] lte $maxNeed[4] *0.8>> <br>
<<link "Masturbate" "Masturbation Scene">> <<passtime 15>> <</link>> <<showTime 15>>
<</if>>
<br> <br>
You got a tall aluminium wardrobe on the side. <br>
<<link "Change clothing" "Wardrobe">> <<set $location to "Home Bedroom">> <<set $displayOp to 0>> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <</link>> <br>
<em> Wear outfit... </em> <span data-nokeys="true"> <<outfitOptions>> </span>
<br> <br>
<<link "Reflect about the world" "Settings">> <</link>> | Settings
<br> <br>
<<link "Change or organize bedroom..." "Home Bedroom Decor">> <</link>>
<br> <br>
<-- <<link "Go back" "Home">> <</link>>
<</if>><<if _passout is undefined>>
You are in your kitchen. <br> <br>
<<link "Cook something" "Crafting">> <<set $location to "Home Kitchen">> <<set $craftMenu to 0>> <<set $pageStart to 0>> <<set $pageEnd to 5>> <</link>>
<br> <br>
<<if $kitchenCraft is undefined>> <<set $kitchenCraft to 0>> <</if>>
<<if $kitchenCraft is 0>>
<<haveItem 2 CraftBench 1>>
<<if _has isnot "no">>
<<link "Install a workbench" "Home Kitchen">> <<passtime 30>> <<set $kitchenCraft to 1>> <<loseItem 2 CraftBench 1>> <</link>> <<showTime 30>>
<<else>>
<em> You need to purchase and install a Workbench from the mall to be able to craft here. </em>
<</if>>
<<elseif $kitchenCraft is 1>> You have a high-tech workbench installed here. <br>
<<link "Scrap and Plastic crafts" "Crafting">> <<set $location to "Home Kitchen">> <<set $craftMenu to 1>> <<set $pageStart to 0>> <<set $pageEnd to 5>> <</link>>
<br> <<if $skill.Crafting gt 0>>
<<link "Power Cell crafts" "Crafting">> <<set $location to "Home Kitchen">> <<set $craftMenu to 2>> <<set $pageStart to 0>> <<set $pageEnd to 5>> <</link>>
<<else>> <em> You need Crafting 1 to start working with Power Cells. </em> <</if>>
<br> <<if $skill.Crafting gt 1>>
<<link "Electronics crafts" "Crafting">> <<set $location to "Home Kitchen">> <<set $craftMenu to 3>> <<set $pageStart to 0>> <<set $pageEnd to 5>> <</link>>
<<else>> <em> You need Crafting 2 to start working with Electronics. </em> <</if>>
<br> <br>
<<link "Disarm stuff" "Decrafting">> <<set $location to "Home Kitchen">> <<set $craftMenu to 0>> <<set $pageStart to 0>> <<set $pageEnd to 5>> <</link>>
<</if>>
<br> <br>
<-- <<link "Go back" "Home">> <</link>>
<</if>><<if _passout is undefined>>
You are in your bathroom. <br> <br>
<<link "Look at yourself in the mirror" "Mirror">> <<set $location to "Home Bathroom">> <<set $displayOp to 0>> <<set $pageStart to 0>> <<set $pageEnd to 5>> <</link>>
<br> <br>
<<link "Take a shower" "Shower">> <<set $location to "Home Bathroom">> <<passtime 20>> <</link>> <<showTime 20>>
<br> <br>
<<move "Leave bathroom" "Home" 1>> <</move>>
<</if>>You take a quick shower!
<<if $fluid.length gt 0>> <span style="color:hotpink"> Lewd fluids go down the drain. </span>
<<set $fluid to []>> <<set $totalFluid to 0>> <</if>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<if _passout is undefined>>
<-- <<link "Go back" "Home Bedroom">> <</link>> <br> <br>
<<if $plushiesOnBed is undefined or $plushiesOnBed.length lt 15>>
<<link "Add a plushy to your bed" "Item Selection">> <<set $invTarget to 2>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $previous to "Home Bedroom Decor">> <<set $aftermath to "Placing Plushy On Bed">> <<set $tagWanted to "plushy">> <</link>>
<<elseif $plushiesOnBed.length gte 15>>
<span style="color:red">Tragically, you can't add any more plushies to your bed without running out of space for yourself.</span> <</if>>
<</if>><<if _passout is undefined>>
<-- <<link "Go back" "Home">> <</link>>
<br> <br>
You can work on upgrading your apartment. <br>
<<link "Work on upgrades" "Apartment Upgrade">>
<</link>>
<br> <br>
You have some free space to work around on the main room... <br>
<<if $skill.Crafting gte 2>>
<<for _i to 0; _i lt $apartmentSlots.length; _i++>> <<capture _i>>
<<if $apartmentSlots[_i] is "none">>
<span style="color:sandybrown"> Empty space </span> --> <<link "Build or install something here" "Apartment Install">>
<<set $i to _i>>
<</link>>
<<else>>
<<= setup.installList[$apartmentSlots[_i][0]].name>> <<if $apartmentSlots[_i][1] lt setup.installList[$apartmentSlots[_i][0]].time>> <<percent $apartmentSlots[_i][1] setup.installList[$apartmentSlots[_i][0]].time green>> --> <<link "Work on this" "Apartment Install Work">> <<passtime 30>> <<set $i to _i>> <</link>> <<showTime 30>>
<<else>> <span style="color:limegreen">(Active)</span> <</if>>
<</if>>
<br>
<</capture>><</for>>
<<else>> <em>You need Crafting 2 to start working on building furniture.</em>
<</if>>
<</if>><-- <<link "Go back" "Home Decor">> <</link>> <br> <br>
<<set _optionsShown to 0>>
<<for _i to $pageStart; _optionsShown lt 5 and _i lt setup.apartmentUpgrade.length; _i++>>
<<if _i lt setup.apartmentUpgrade.length>> <<capture _i>> <<set _id to setup.apartmentUpgrade[_i].id>> <<capture _id>>
<<set _canUpgrade to 0>>
<<= setup.apartmentUpgrade[_i].condition>>
<<if _canUpgrade is 1>> <<set _optionsShown += 1>>
<<= setup.apartmentUpgrade[_i].name>> - <<= setup.apartmentUpgrade[_i].desc>> <br>
<<set _craft to 0>> <<set _craftList to []>>
<<for _h to 0; _h lt setup.apartmentUpgrade[_i].mat.length; _h++>>
<<haveItem setup.apartmentUpgrade[_i].mat[_h][0] setup.apartmentUpgrade[_i].mat[_h][1] setup.apartmentUpgrade[_i].mat[_h][2]>>
<<set _craftList.push(_hasAmount)>>
<<if _has isnot "no">> <<set _craft += 1>> <</if>> <</for>>
#
<<if _craft gte setup.apartmentUpgrade[_i].mat.length>>
<<link "Work">> <<passtime setup.apartmentUpgrade[_i].time>>
<<for _h to 0; _h lt setup.apartmentUpgrade[_i].mat.length; _h++>>
<<loseItem setup.apartmentUpgrade[_i].mat[_h][0] setup.apartmentUpgrade[_i].mat[_h][1] setup.apartmentUpgrade[_i].mat[_h][2]>> <</for>>
<<set $apartmentUpgrade.push(_id)>> <<= setup.apartmentUpgrade[_i].done>> <<set $message.push(setup.apartmentUpgrade[_i].message)>>
<<goto "Home Decor">>
<</link>>
<<else>> Work <</if>> <<showTime setup.apartmentUpgrade[_i].time>> --
<<for _h to 0; _h lt setup.apartmentUpgrade[_i].mat.length; _h++>> | <<= setup[setup.apartmentUpgrade[_i].mat[_h][1]].name>> (<<= setup.apartmentUpgrade[_i].mat[_h][2]>>/<<= _craftList[_h]>>)
<br> <br>
<</for>>
<</if>>
<</capture>> <</capture>>
<</if>> <</for>>
<<if _optionsShown is 5 or $pageStart gt 0>>
<<if $pageStart gt 0>> <<link "Previous page" "Apartment Upgrade">>
<<set $pageStart -= 5>> <<set $pageEnd -= 5>>
<</link>>
<<else>> Previous page <</if>> |
<<if _i lt setup.apartmentUpgrade.length>> <<link "Next page" "Apartment Upgrade">>
<<set $pageStart += 5>> <<set $pageEnd += 5>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>>You work on building your <<= setup.installList[$apartmentSlots[$i][0]].name>>! <<loseNeed 1 30>> <br> <br>
<<set $apartmentSlots[$i][1] += 30>>
<<link "Continue" "Home Decor">> <</link>><-- <<link "Go back" "Home Decor">> <</link>> <br> <br>
<<set _optionsShown to 0>>
<<for _i to $pageStart; _optionsShown lt 5 and _i lt setup.installList.length; _i++>>
<<if _i lt setup.installList.length>> <<capture _i>> <<set _id to setup.installList.item>> <<capture _id>>
<<if $skill[setup.installList[_i].skill] gte setup.installList[_i].level>> <<set _optionsShown += 1>>
<<= setup.installList[_i].name>> - <<= setup.installList[_i].desc>> | <span style="color:aqua"><<= setup.installList[_i].skill>> <<= setup.installList[_i].level>> </span> <br>
<<set _craft to 0>> <<set _craftList to []>>
<<for _h to 0; _h lt setup.installList[_i].mat.length; _h++>>
<<haveItem setup.installList[_i].mat[_h][0] setup.installList[_i].mat[_h][1] setup.installList[_i].mat[_h][2]>>
<<set _craftList.push(_hasAmount)>>
<<if _has isnot "no">> <<set _craft += 1>> <</if>> <</for>>
#
<<if _craft gte setup.installList[_i].mat.length>>
<<link "Start building this here">>
<<for _h to 0; _h lt setup.installList[_i].mat.length; _h++>>
<<loseItem setup.installList[_i].mat[_h][0] setup.installList[_i].mat[_h][1] setup.installList[_i].mat[_h][2]>> <</for>>
<<set $apartmentSlots[$i] to [_i, 0]>>
<<goto "Home Decor">>
<</link>>
<<else>> Start building this <</if>> --
<<for _h to 0; _h lt setup.installList[_i].mat.length; _h++>> | <<= setup[setup.installList[_i].mat[_h][1]].name>> (<<= setup.installList[_i].mat[_h][2]>>/<<= _craftList[_h]>>)
<</for>>
<</if>>
<</capture>> <</capture>>
<</if>> <</for>>
<<if _optionsShown is 5 or $pageStart gt 0>>
<<if $pageStart gt 0>> <<link "Previous page" "Apartment Install">>
<<set $pageStart -= 5>> <<set $pageEnd -= 5>>
<</link>>
<<else>> Previous page <</if>> |
<<if _i lt setup.installList.length>> <<link "Next page" "Apartment Install">>
<<set $pageStart += 5>> <<set $pageEnd += 5>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>><<if $apartmentUpgrade.includes("BasePaintJob")>>
The walls have a neat coat of paint.
<</if>>
<<if $apartmentUpgrade.includes("BaseTable")>>
You have a basic table,
<<if $apartmentUpgrade.includes("BaseChair")>>
with a couple chairs around it.
<<else>>
but no chairs around it.
<</if>>
<</if>>
<<if $apartmentUpgrade.includes("SynthHousePlant")>>
There's a synthetic house plant on a corner.
<</if>><<set _rarityPool to {
common: 50,
uncommon: 20,
rare: 0,
ultraRare: 0,
danger: 0,
}>>
<<set _rarity to weightedEither(_rarityPool)>>
<<set _lowRep to 0>> <<if $group.Synth.rep gte 20>> <<set _lowRep to 10>> <</if>>
<<set _lust to Math.clamp($group.Synth.lust, 0, 100)>>
<<if _rarity is "common">> <<set _event to weightedEither({
"Residential Center Melancholy": 10,
"Residential Center Shy": 10,
"Residential Center Note": 10,
"Residential Center Jingle": 10,
"Residential Center Owner": 10,
"Residential Center Headache": 10,
"Residential Center Beg": _lowRep,
"Residential Center Oral": Math.trunc(_lowRep *(1 +(_lust /100))),
})>>
<<elseif _rarity is "uncommon">>
<<set _lostQuest to 10>> <<if $residentialCenterLostQuest or $dayFlag.LostSynthQuest isnot undefined>> <<set _lostQuest to 0>> <</if>>
<<set _event to weightedEither({
"Residential Center Speech Damaged": 10,
"Residential Center Lost Quest": _lostQuest,
})>>
<</if>>You spend twenty minutes talking to your fellow synths.
<<if $group.Synth.rep lte 5>> <span style="color:red"> Like everyone else, you are almost completely ignored. </span>
<<elseif $group.Synth.rep lte 12>> <span style="color:orange"> You are mostly ignored. </span>
<<elseif $group.Synth.rep lte 30>> <span style="color:yellow"> Some recognize you and wave at you. </span>
<<elseif $group.Synth.rep lte 80>> <span style="color:limegreen"> You are recognized pretty often. </span>
<<else>> <span style="color:green"> Among them, you are pretty well-liked. </span>
<</if>>
<br> <br><<include "Residential Center Socialize">> <<clearNPC>> <<createNPC Synth>>
A <<np name>> loudly sings the jingle of a popular <<print either("hairspray", "shampoo", "used cars", "hats", "pizza")>> commercial. Every time <<np he>> finishes <<np he>> loops back to the start. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Residential Center Socialize">> <<clearNPC>> <<createNPC Synth>>
A <<np name>> hands you a note. It reads "<<print either("You are more than code.", "I like your face.", "You are real.", "You are here.")>>" <<np He>> smiles at you before continuing handing notes to others. <<social 300>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Residential Center Socialize">> <<clearNPC>> <<createNPC Synth>>
A <<np name>> sits quietly on a corner, staring at the fluorescent lights above <<np his>> head. <br> <br>
<<link "Sit with <<np him>>" "Residential Center Melancholy Sit">> <<passtime 5>> <<gainFavor Synth 1>> <</link>> <<showTime 5>> <br>
<<link "Continue">> <<goto $location>> <</link>>You sit with the <<np name>>. Neither of you says anything. <br> <br>
<<chance 30>> <<set _eye to 1>> <</chance>> <<if _eye is undefined>> After a while, <<np he>> turns to you and gives you a weak smile. <<social 150>> <<else>> After a while, <<np he>> turns to you. "Can you cry?" <<np He>> asks. You blink in confusion and tell <<np him>> that, just like any other synth, you don't have the ability to produce tears. "I wish we could." <<np He>> mutters, and doesn't say anything else. <</if>>
<br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Residential Center Socialize">> <<clearNPC>> <<createNPC Synth>>
A <<np name>> asks you if you have seen <<np his>> owner. When you shake your head <<np he>> slumps down, defeated. <br> <br>
<<link "Cheer <<np him>> up" "Residential Center Owner Cheer">> <<passtime 5>> <<gainFavor Synth 1>> <</link>> <<showTime 5>> <br>
<<link "Continue">> <<goto $location>> <</link>>You try to cheer the <<np name>> up, saying <<np he>> doesn't need an owner anymore. <<np He>> tilts <<np his>> head. <br> <br>
"Oh no, I know. Now that I'm free, I just want to find him so I can punch him in the face." <<np He>> says casually. "Thanks for your concern, though!" <br> <br>
You watch surprised as <<np he>> walks away. Somehow, you're the one who feels cheered up. <<social 180>> <br> <br>
<<passageXP 5>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Residential Center Socialize">> <<clearNPC>> <<createNPC Synth>>
A <<np name>> approaches you, rubbing <<np his>> head. <br> <br>
"Do you hear the voices too?" <<np He>> asks. When you shake your head <<np he>> adds: "They are asking for my social security number... But I don't have one..." <br> <br>
<<link "Take <<np him>> to the clinic" "Residential Center Headache Clinic">> <<passtime 30>> <<gainFavor Synth 2>> <</link>> <<showTime 30>> <br>
<<link "Just move on">> <<goto $location>> <</link>>You take the <<np name>> to the clinic and wait with <<np him>> in line. When it's finally <<np his>> turn, the clinic's bots fix the issue in a matter of seconds. <br> <br>
"Please resident, use this protection device to shelter your processing unit from unwanted signals." A bot says, handing <<np him>>... an improvised tinfoil hat. <br> <br>
The <<np name>> tries it on and is shocked by the results. "Woah... the voices are gone! What is this technology??" <br> <br>
You decide to distance yourself from the situation. <<social 250>> <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Residential Center Socialize">> <<clearNPC>> <<createNPC Synth>>
A <<np name>> keeps staring at you, and turning away when you look back. <<np He>> almost looks panicked when you get closer, avoiding looking at you at all. It seems <<np he>> is just shy. <br> <br>
<<link "Flirt" "Residential Center Shy Flirt">> <<set $group.Synth.lust += 1>> <<gainSkill Seduction 5 10>> <</link>> <<lewdTip>> <br>
<<link "Ignore">> <<goto $location>> <</link>>You compliment the <<np name>> flrtatiously and try to meet <<np his>> gaze. <<np He>> mumbles something and runs away... <<playerPersonality Lewd 1>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Residential Center Socialize">> <<clearNPC>> <<createNPC Synth>>
A <<np name>> approaches you shyly. <br> <br>
"Hi... I've seen you helping others and I..." <<np He>> hesitates. "Can I ask you for some credits, please? I just need 100..." <br> <br>
<<if $credit gte 100>> <<link "Give <<np him>> credits" "Residential Center Beg Donate">> <<gainFavor Synth 2>> <</link>> <<payTip 100>> <br> <</if>>
<<link "Say no">> <<goto $location>> <</link>>You give <<np him>> the credits. <<loseCred 100>> <br> <br>
<<np He>> thanks you profusely, and even gives you a kiss on the cheek. <<social 800>> <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Residential Center Socialize">> <<clearNPC>> <<createNPC Synth>>
A <<np name>> is shouting incoherences among the chaos. Judging by the garbled words <<np he>> utters, it appears <<np his>> speech algorythm was damaged somehow, along with <<np his>> volume control center. <<np He>> seems to be trying to talk, or ask for help. Disturbed, everybody walks past ignoring <<np his>> screams. <br> <br>
<<link "Try to fix <<np him>>" "Residential Center Speech Damaged Fix">> <<passtime 20>> <<attCheck 3 10 20 14>> <</link>> <<showTime 20>> | <<showCheck 3 10 20>> <br>
<<link "Try to cheer <<np him>> up" "Residential Center Speech Damaged Cheer">> <<passtime 5>> <<attCheck 2 5 17 12>> <</link>> <<showTime 5>> | <<showCheck 2 5 17>> <br>
<<link "Ignore">> <<goto $location>> <</link>>You approach the <<np name>> and ask <<np him>> if you can access <<np his>> brain. <<np He>> screams a question at you, but before you can wonder what <<np he>> said (or recover from the shout) <<np he>> takes off <<np his>> head case. Staring now right at <<np his>> central processing unit through a hole on the side of <<np his>> head, you promptly get to work. <br> <br>
<<if $success is 1>> It's difficult, but soon enough you identify the issue. Part of <<np his>> brain was disconnected, and a few small wires are out of place. You improvise a solution. Squeezing the mechanism together, <<np his>> garbled speech suddenly screechs into coherence. <br> <br>
"--ose kids fault!" <<np He>> says. "They threw a rock and hit me right on the head... oh, you fixed me!" <<np He>> smiles widely.
You explain to <<np him>> that <<np he>> should go to a technician for a permanent fix, but <<np he>> shakes <<np his>> head. "No, thanks. I actually didn't mind it. Those kids freaked out when they heard me speak like that, so I'm going to keep it to scare anyone who messes with me. But, hey, thanks for the help." <br> <br>
<<np He>> gives you a hug, then walks out shaking <<np his>> head side to side, as if to incite the bug again. You shrug: it's <<np his>> brain, after all. <<social 400>>
<<gainFavor Synth 5>>
<<else>>
It's more difficult than you expected. <<np His>> brain is a mess of tiny wires and cells you can barely keep track off. Twenty minutes later you are no closer to solving the issue, and what's worse, it appears to be spreading. By the end <<np he>> is speaking in white noise, and shortly after <<np he>> pushes you away. <br> <br>
You apologize, but <<np he>> doesn't seem very concerned. Smiling, <<np he>> walks away still shouting in <<np his>> haunted voice. <</if>>
<br> <br> <<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You approach the <<np name>> to try to cheer <<np him>> up. You can't get much words in, though... despite <<np his>> technical problem, <<np he>> doesn't stop trying to talk for a single moment. <br> <br>
<<if $success is 1>> However, you must have said something <<np he>> liked, or perhaps your presence was enough, because suddenly <<np he>> smiles and hugs you. <<np He>> walks away happily, leaving you alone and confused. <<social 300>> <<gainFavor Synth 2>> <<else>>
After a while <<np he>> turns around and walks away, still screaming randomly, leaving you alone and confused.<</if>>
<br> <br> <<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<include "Residential Center Socialize">> <<clearNPC>> <<createNPC Synth>>
A <<np name>> approaches you shyly. <<np He>> looks down. <br> <br>
"H-hi." <<np He>> sighs. "I... I need help." <br> <br>
<<np He>> shifts in place, one hand rubbing <<np his>> crotch. <br> <br>
"I think they made me to need... uhm. Regular attention..." <<np He>> mutters. "I-I've heard you like helping others so... please? I just need your mouth for a minute." <<np He>> says, clearly desperate now. <br> <br>
<<link "Help <<np him>> out" "Residential Center Oral Accept">> <</link>> <<lewdTip>> <br>
<<link "Sorry but no" "Residential Center Oral Reject">> <</link>>You tell <<np him>> you won't do that. <<np He>> slumps. <br> <br>
"It's okay." <<np He>> says disappointed. "Sorry." <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 0>> <<set $scene to "GivingOralScene">>
"T-thank you so much." <<np He>> sighs in relief. "M-my apartment is close. If you wanna do it somewhere private."
You nod and <<np he>> guides you to <<np his>> apartment. It's the exact same layout than yours. "Y-you can start whenever." <<np He>> says, unable to look at you for too long, at least until you kneel in front of <<np him>>. <<playerPersonality Lewd 5>>
<br> <br>
<<link "Continue">> <<goto "Scene">> <<set $aftermath to "Residential Center Oral Finish">> <</link>>"T-thank you so much." The <<np name>> sighs in relief. "I.. I've felt like I was losing my mind." <<np He>> laughs. "Thank you." <<social 400>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <<gainFavor Synth 3>> <</link>><<include "Residential Center Socialize">> <<clearNPC>> <<createNPC Synth>>
A <<np name>> approaches you. <br> <br>
"Excuse me... my friend went outside and isn't back yet... can you look for them please?" <br> <br>
<<link "You'll look for them" "Residential Center Lost Quest Accept">> <</link>> <br>
<<link "Refuse">> <<goto $location>> <</link>><<set $residentialCenterLostQuest to either("Sector A1", "Sector A2", "Sector A4", "Sector A5", "Sector B1", "Sector B2", "Sector B4", "Sector B5", "Sector D1", "Sector D2", "Sector D4", "Sector D5", "Sector E4", "Sector E5", )>>
"Thank you! They said they were going to <span style="color:gold">$residentialCenterLostQuest</span>. Please hurry up... I have a bad feeling." <br> <br>
After getting the missing synth's ID number, you promise the <<np name>> you'll find them. <br> <br>
<<link "Continue">> <<goto $location>> <<set $residentialCenterLostQuestPool>> <<addQuest ResidentialCenterLostQuest>> <<set $dayFlag.LostSynthQuest to 1>> <</link>><<clearNPC>> <<createNPC Synth>>
<span style="color:limegreen"> You manage to locate the missing synth! </span>
<<set _variant to weightedEither({
"fine": 10, "taken": 5, "prost": 5,
})>>
<<if _variant is "fine">> <<questFlag ResidentialCenterLostQuest>>
It's a <<np name>> who looks at you inquisitevely as you run in <<np his>> direction. <br> <br>
"Uh, yes?" <<np He>> asks. When you explain the situation to <<np him>>, <<np he>> shakes <<np his>> head in disbelief. "I was only gone for a bit! It's not that bad out here! I only got attacked a couple times... Well, I'll guess I'll come back so nobody else worries." <br> <br>
As <<np he>> starts walking back to the residential center, you feel as if you've wasted your time a little. But at least <<np he>> is fine. <br> <br>
<<gainXP 30>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<elseif _variant is "taken">> <<createNPC SlumHuman>> <<createNPC SlumHuman>>
Unfortunately, the <<np name>> is in a rough spot. <<np He>>'s completely immobile, <<np his>> eyes white as <<np his>> body glitches out on the street. Taking advantage of <<np his>> vulnerable state, two humans, a <<np name 1>> and a <<np name 2>>, grab <<np his>> arms and argue about which of the two gets to keep <<np him>>. <br> <br>
<<link "Confront the two humans" "Residential Center Lost Quest Taken Confront">> <</link>> <br>
<<link "Don't get involved..." "Residential Center Lost Quest Taken Leave">> <</link>>
<<elseif _variant is "prost">> <<createNPC SlumHuman>>
<<np He>> is sitting uncomfortably on the lap of a <<np name 1>> who currently has both hands under the synth's clothes. You try to drag <<np him>> away. <br> <br>
"Stop right there, synth." The <<np name 1>> sneers at you. "We agreed on a hundred fifty creds for the entire day. We still have eight hours to go, so fuck off." <br> <br>
The <<np name>> looks at you pleadingly. <br> <br>
<<link "Take the <<np name>> with you" "Residential Center Lost Quest Prost Take">> <</link>> <br>
<<link "Leave" "Residential Center Lost Quest Prost Leave">> <</link>>
<</if>>You try to free the <<np name>> from the <<np name 1>>'s grip but <<np he>> resists. <br> <br>
"W-wait." <<np He>> says. "I really need the money..." <br> <br>
"You hear that? Now fuck off." The <<np name 1>> snaps at you. <br> <br>
<<if $credit gte 150>>
<<link "Give <<np him>> the money" "Residential Center Lost Quest Prost Pay">> <</link>> <<payTip 150>>
<br> <<else>> <span style="color:orange">You don't have enough money to pay <<np him>> instead. </span> <br> <</if>>
<<link "Fight the <<np name 1>>">> <<startFight>> <<loadEnemy 1>> <<goto 'Fight'>> <<set $aftermath to "Residential Center Lost Quest Prost Win">> <<set $surrender to "Residential Center Lost Quest Prost Surrender">> <<set $surrenderDanger to 2>> <</link>> <br>
<<link "Leave" "Residential Center Lost Quest Prost Leave">> <</link>>You send the credits to the <<np name>>. <<loseCred 150>><br> <br>
<<np His>> eyes go wide, but before <<np he>> can thank you drag <<np him>> away, ignoring the <<np name 1>>'s protests. <br> <br>
Once you are both safe, <<np he>> gives you a hug. <<social 600>> <br> <br>
<<link "Continue">> <<questFlag ResidentialCenterLostQuest>> <<gainFavor Synth 2>> <<goto $location>> <</link>>You decide to leave the <<np name>> alone with the <<np name 1>>, ignoring the <<np name>>'s whimpers. <<trauma 50 0 other>> <br> <br>
<<link "Continue">> <<questFail ResidentialCenterLostQuest>> <<goto $location>> <</link>>The human hits <<np his>> head against the bench. You quickly take the <<np name>>'s hand and run away with <<np him>> as <<np he>> gawks at you, shocked. <<playerPersonality Vengeful 4>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<questFlag ResidentialCenterLostQuest>> <<goto "Sector C3">> <</link>>You kneel in surrender. The <<np name 1>> looms over you as the <<np name>> scurries away in fear. <br> <br>
<<set $npc.deleteAt(0)>>
"If you wanted to take <<np his>> place you should have said so." <<np He>> grumbles as <<np he>> advances on you. <br> <br>
<<clearPartner>> <<createPartner 0>>
<<setScene 1 mainCourse>>
<<include setup[$scene].desc>> <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Residential Center Lost Quest Prost Finish">> <</link>>The <<np name>> sits on the bench, catching <<np his>> breath. You stumble away. <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<questFlag ResidentialCenterLostQuest>> <<goto $location>> <</link>>Weary of the danger, you decide to leave the <<np name>> alone. As you walk away you overhear the two humans finally agreeing to "share" <<np him>>. <<trauma 50 0 other>> <br> <br>
<<link "Continue">> <<questFail ResidentialCenterLostQuest>> <<goto $location>> <</link>>You approach the two humans and <<if $personality.Vengeful gte 10>> demand them <<else>> ask them <</if>> to free the <<np name>>. <br> <br>
"Shut up, synth." The <<np name 1>> sneers. "Leave before we take you too." <br> <br>
<<link "Fight them">> <<startFight>> <<loadEnemy 1>> <<loadEnemy 2>> <<goto 'Fight'>> <<set $aftermath to "Residential Center Lost Quest Taken Confront Win">> <<set $surrender to "Residential Center Lost Quest Taken Confront Surrender">> <<set $surrenderDanger to 2>> <</link>> <br>
<<link "Don't get involved..." "Residential Center Lost Quest Taken Leave">> <</link>>The humans defeated, you take the <<np name>>'s hand and run towards the Residential Center. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<questFlag ResidentialCenterLostQuest>> <<goto "Sector C3">> <</link>>Beaten, you stumble to your knees. The humans advance on you. <br> <br>
"You dumb robot... why don't we take you instead?" <br> <br>
<<set $npc.deleteAt(0)>>
<<clearPartner>> <<createPartner 0>> <<createPartner 1>>
<<setScene 1>> <<set $scene to "GangbangScene">>
<<include setup[$scene].desc>> <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Residential Center Lost Quest Taken Confront Finish">> <</link>>"Hey, where the other went?" The <<np name 1>> says. <br> <br>
"Who cares? I got what I wanted." The <<np name>> laughs before kicking you on the stomach one last time. <<enemyStrike 50>> <br> <br>
Finally, they both leave you alone. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<questFlag ResidentialCenterLostQuest>> <<goto $location>> <</link>><<set _ev to random(0, 12)>>
The center is overcrowded with synthetic humans like yourself.
<<clearNPC>> <<createNPC Synth>>
<<if _ev is 0>>
A <<np name>> is shouting incoherences among the chaos, seemingly having <<np his>> speech algorythm damaged somehow.
<<elseif _ev is 1>>
A <<np name>> sits quietly in a corner, sight lost in the ceiling.
<<elseif _ev is 2>>
A <<np name>> stands frozen in the middle of the hall. <<np He>> is completely unresponsive, and others walk around <<np him>>, ignoring <<np his>> plight.
<<elseif _ev is 3>>
A <<np name>> is asking everyone if they've seen <<np his>> owner. Nobody seems to know how to answer.
<<elseif _ev is 4>>
A <<np name>> sits on a corner and stacks food rations in different shapes, as if playing with bricks.
<<elseif _ev is 5>>
A <<np name>> walks by next to you, whispering the jingle of a popular <<print either("hairspray", "shampoo", "used cars", "hats", "pizza")>> commercial.
<<elseif _ev is 6>>
A <<np name>> is attempting to repair <<np his>> own arm, bent at an irregular angle. <<np He>> randomly screams error codes in pain.
<<elseif _ev is 7>>
A <<np name>> assertively tries to convince another one to hand over their rations.
<<elseif _ev is 8>>
A <<np name>> stares at you intently. Then <<np his>> motion sensors detect someone else and <<np he>> leaves you alone.
<<elseif _ev is 9>>
A <<np name>> hands you a note. It reads "<<print either("You are more than code.", "I like your face.", "You are real.", "You are here.")>>" <<np He>> smiles at you before continuing handing notes to others.
<<elseif _ev is 10>>
A <<np name>> is trading memories with another. They both seem pretty unhappy with the ones they received.
<<elseif _ev is 11>>
A <<np name>> is asking everyone if they've seen <<np his>> "special piece". It makes <<np him>> unique, <<np he>> says.
<<elseif _ev is 12>>
A <<np name>> is projecting a flickering hologram of a human family, watching it in silence as others bump into <<np him>> in the crowd.
<</if>><<if _passout is undefined>>
You are in the main hall of the New Life Residential Center. Your apartment is just a few floors up.
<br> <br>
<<link "Go up to your apartment" "Home">> <<passtime 2>> <</link>> <<showTime 2>>
<br> <br>
<<link "Search for a specific apartment..." "Residential Center Apartments">> <</link>>
<br> <br>
<<if $hours gte 8 and $hours lt 21>>
The center is overcrowded with synthetic humans like yourself. <br>
<<link "Socialize..." "Residential Center Socialize Menu">> <<set $location to "Residential Center Socialize Menu">> <</link>>
<<else>> There's not many synths around at this hour.<</if>>
<br> <br>
<<link "Use the center's services" "Residential Center Services">> <</link>>
<br> <br>
<<link "Leave the residential center">> <<passtime 2>> <<addMemory 0>> <<set $region to "Slum">> <<set $location to "Sector C3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 2>>
<</if>><<if _passout is undefined>>
<-- <<link "Go back" "Residential Center">> <</link>> <br> <br>
<<if $hours gte 8 and $hours lt 21>>
<<link "Talk to other synths">> <<passtime 20>> <<set $location to "Residential Center Socialize Menu">> <<event "Residential Center Eventpool">> <</link>> <<showTime 20>>
<br> <br>
<h4> Ask for a favor... </h4>
You've accumulated <span style="color:gold">$group.Synth.rep</span> total Favor. <br> <br>
<<if $group.Synth.rep gte 10>>
<<if $headpatAsk is 0 or $addiction.Headpat gt 0>>
<<link "Ask for headpats">> <<passtime 20>> <<event "Synth Favor Headpats Eventpool">> <</link>> <<showTime 20>> <<needGainTip 3>> | <span style="color:limegreen">3 Favor</span> <br>
<</if>>
<<if $dayFlag.FavorSpareStuff is undefined>>
<<link "Ask for spare stuff">> <<passtime 20>> <<event "Synth Favor SpareStuff Eventpool">> <</link>> <<showTime 20>> | <span style="color:limegreen">5 Favor</span> <br>
<<else>> <span style="color:orange">You already asked for spare stuff today.</span> <</if>>
<<else>> <em> You don't feel comfortable asking for stuff without giving more help to others first.</em>
<</if>>
<<else>>
There's not many synths around at this hour.
<</if>>
<</if>><<if _passout is undefined>>
<-- <<link "Go back" "Residential Center">> <</link>> <br> <br>
You look at the floor plans for the Residential Center.
<<if $visit.includes("Unit 1A Second Meet")>> <br> <br>
Unit 1A's apartment is the very first one. <br>
<<link "Visit Unit 1A" "Unit 1A Knock">> <</link>>
<</if>>
<<if $demi isnot undefined>> <br> <br>
Demi lives in the first floor. <br>
<<link "Visit Demi" "Demi Knock">> <</link>>
<</if>>
<<if $foxy isnot undefined>> <br> <br>
An apartment is circled with a pink heart, and "Foxy" is written underneath. <br>
<<link "Visit Foxy" "Foxy Knock">> <</link>>
<</if>>
<</if>><<if _passout is undefined>>
<-- <<link "Go back" "Residential Center">> <</link>> <br> <br>
<<if $centerDebt gt 0>> <span style="color:red"> You owe $centerDebt Credits to the center. </span> Until you pay off your debt you won't be able to use the facilities.
<<if $credit gte $centerDebt>> <br>
<<link "Pay off your debt" "Residential Center Services">> <<loseCred $centerDebt>> <<set $centerDebt to 0>> <<set $message.push("Debt settled!")>> <</link>> <<payTip $centerDebt>>
<</if>>
<<else>>
A long queue precedes the ration dispenser. If you want to get food, you'll have to wait in line. <br>
<<link "Wait in line" "Residential Center Ration">> <<passtime 30>> <</link>> <<showTime 30>>
<br> <br>
There's a synth-specialized clinic here.
<<if $dayFlag["ResidentialClinic"] is undefined>> <br>
<<link "Wait in line" "Residential Center Clinic">> <<passtime 30>> <</link>> <<showTime 30>>
<<else>> <br> <span style="color:orange"> You already visited the clinic today. </span> <</if>>
<<if $permStatus.length gt 0>> <br>
<<link "Ask about special affliction removal" "Residential Center Clinic Curse Heal">> <</link>>
<</if>>
<</if>>
<</if>>You wait in line to visit the clinic. A sign next to the door says each resident can use the clinic only <span style="color:gold"> one time a day. </span> <br> <br>
<<if $dayFlag["ResidentialClinic"] is undefined>> When it's your turn, the automatized machines of the clinic spend no time fixing you up. <<gainNeed 0 1500>> <<set $dayFlag["ResidentialClinic"] to 1>>
<<else>> You already visited the clinic today, so the automatized machines ignore your presence. <</if>> <br> <br>
<<link "Continue" "Residential Center">> <</link>><-- <<link "Nevermind" "Residential Center Services">> <</link>> <br> <br>
<<checkWeekFlag "ClinicCurseHeal">>
<<if _flag is 0>> <<set _cost to 0>> Residents are provided with a free special affliction removal a week.
<<else>> <<set _cost to 400>> <span style="color:orange">You already used your free affliction removal this week. </span> This service will cost _cost Credits until next <span style="color:gold"><<= setup.weekday[_dayW]>></span>.
<</if>>
<br> <br>
<<if $credit lt _cost>> <span style="color:red"> You can't really afford that right now... </span> <<else>>
<<for _i to 0; _i lt $permStatus.length; _i++>> <<set _id to $permStatus[_i]>> <<capture _id>> <<capture _i>>
<<= setup[_id].name>> -- <<link "Remove" "Residential Center Clinic Curse Success">> <<passtime 30>> <<loseCred _cost>> <<set $permStatus.deleteAt(_i)>> <<= setup[_id].end>> <<if _cost is 0>> <<set $weekFlag[$weekDay].ClinicCurseHeal to 1>> <</if>> <</link>> <<showTime 30>> <<if _cost gt 0>> | <<payTip _cost>> <</if>>
<br>
<</capture>> <</capture>>
<</for>>
<</if>>The bots quickly get to work on you, removing the persistent affliction. <br> <br>
<<link "Continue" "Residential Center Services">> <</link>>You spend some time waiting in line in front of the ration dispenser. Everyone in front and behind of you is completely silent. After half an hour you receive one single brown ration. <br> <br>
The sign next to the dispenser says everyone can take one ration at a time. You step aside for the next person in the queue. <br> <br>
<<link "Continue" "Residential Center">> <<lootItem 0 Ration 1>> <</link>><<set _event to weightedEither({
"Synth Favor Headpats Common": 10,
})>><<set _rep to $group.Synth.rep + $group.Synth.permRep>>
<<set _event to weightedEither({
"Synth Favor SpareStuff Scrap": 15,
"Synth Favor SpareStuff Plastic": 15,
"Synth Favor SpareStuff Plushy": Math.clamp(_rep -15, 0, 15),
"Synth Favor SpareStuff RepairKit": Math.clamp(_rep -25, 0, 15),
"Synth Favor SpareStuff Boost": Math.clamp(_rep -30, 0, 10),
"Synth Favor SpareStuff Shield": Math.clamp(_rep -35, 0, 5),
})>><<clearNPC>> <<createNPC Synth>>
It's a little embarrasing, but you decide to trade in some favor and ask for headpats. Most are confused and refuse, but a <<np name>> beams at you. <br> <br>
"Of course you can have some!" <<np He>> says as <<np he>> starts petting your hair. It feels so good... you close your eyes. "Good <<pTitle Boy>>!"
<<headpat 1000>> <br> <br>
<<link "Continue" "Residential Center Socialize Menu">> <<set $group.Synth.rep -= 3>> <</link>><<clearNPC>> <<createNPC Synth>>
You decide to trade in some favor and ask for spare stuff. A <<np name>> stops next to you. <br> <br>
<<random 15 30>>
"You need stuff to sell?" <<np He>> asks. "I have _ran bits of scrap extra if you want." <br> <br>
<<showItem Scrap _ran>> <br>
<<link "Accept" "Residential Center Socialize Menu">> <<set $group.Synth.rep -= 5>> <<set $dayFlag.FavorSpareStuff to 1>> <<set $message.push("You accept the offer!")>> <<lootItem 1 Scrap _ran>> <</link>> <br>
<<link "Keep asking around">><<passtime 20>> <<event "Synth Favor SpareStuff Eventpool">> <</link>> <<showTime 20>>
<br> <br>
<<link "No thanks" "Residential Center Socialize Menu">> <</link>><<clearNPC>> <<createNPC Synth>>
You decide to trade in some favor and ask for spare stuff. A <<np name>> stops next to you. <br> <br>
<<random 37 75>>
"You need stuff to sell?" <<np He>> asks. "I have _ran bits of plastic extra if you want." <br> <br>
<<showItem Plastic _ran>> <br>
<<link "Accept" "Residential Center Socialize Menu">> <<set $group.Synth.rep -= 5>> <<set $dayFlag.FavorSpareStuff to 1>> <<set $message.push("You accept the offer!")>> <<lootItem 1 Plastic _ran>> <</link>> <br>
<<link "Keep asking around">><<passtime 20>> <<event "Synth Favor SpareStuff Eventpool">> <</link>> <<showTime 20>>
<br> <br>
<<link "No thanks" "Residential Center Socialize Menu">> <</link>><<clearNPC>> <<createNPC Synth>>
You decide to trade in some favor and ask for spare stuff. A <<np name>> smiles at you. <br> <br>
"Have this..." <<np He>> says. "It helped me when I just got here. I don't think I need it anymore." <br> <br>
<<set _item to weightedEither(setup.RandomPlushies)>>
<<showItem _item 1>> <br>
<<link "Accept" "Residential Center Socialize Menu">> <<set $group.Synth.rep -= 5>> <<set $dayFlag.FavorSpareStuff to 1>> <<set $message.push("You accept the offer!")>> <<lootItem 2 _item 1>> <</link>> <br>
<<link "Keep asking around">><<passtime 20>> <<event "Synth Favor SpareStuff Eventpool">> <</link>> <<showTime 20>>
<br> <br>
<<link "No thanks" "Residential Center Socialize Menu">> <</link>><<clearNPC>> <<createNPC Synth>>
You decide to trade in some favor and ask for spare stuff. A <<np name>> smiles at you. <br> <br>
"Hey... I have a repair kit I don't need." <<np He>> says. "You want it?" <br> <br>
<<showItem ImprovRepairKit 1>> <br>
<<link "Accept" "Residential Center Socialize Menu">> <<set $group.Synth.rep -= 5>> <<set $dayFlag.FavorSpareStuff to 1>> <<set $message.push("You accept the offer!")>> <<lootItem 0 ImprovRepairKit 1>> <</link>> <br>
<<link "Keep asking around">><<passtime 20>> <<event "Synth Favor SpareStuff Eventpool">> <</link>> <<showTime 20>>
<br> <br>
<<link "No thanks" "Residential Center Socialize Menu">> <</link>><<clearNPC>> <<createNPC Synth>>
You decide to trade in some favor and ask for spare stuff. A <<np name>> smiles at you. <br> <br>
"I can give you this!" <<np He>> says. <br> <br>
<<set _item to weightedEither(setup.RandomBoost)>>
<<showItem _item 1>> <br>
<<link "Accept" "Residential Center Socialize Menu">> <<set $group.Synth.rep -= 5>> <<set $dayFlag.FavorSpareStuff to 1>> <<set $message.push("You accept the offer!")>> <<lootItem 0 _item 1>> <</link>> <br>
<<link "Keep asking around">><<passtime 20>> <<event "Synth Favor SpareStuff Eventpool">> <</link>> <<showTime 20>>
<br> <br>
<<link "No thanks" "Residential Center Socialize Menu">> <</link>><<clearNPC>> <<createNPC Synth>>
You decide to trade in some favor and ask for spare stuff. A <<np name>> approaches you. <br> <br>
<<random 40 80>> <<set _item to setup.equipment.Shield.any.random()>>
"I can give you this..." <<np He>> says. "So you can stay safe." <br> <br>
<<showItem _item _ran>> <br>
<<link "Accept" "Residential Center Socialize Menu">> <<set $group.Synth.rep -= 5>> <<set $dayFlag.FavorSpareStuff to 1>> <<set $message.push("You accept the offer!")>> <<lootItem 6 _item _ran>> <</link>> <br>
<<link "Keep asking around">><<passtime 20>> <<event "Synth Favor SpareStuff Eventpool">> <</link>> <<showTime 20>>
<br> <br>
<<link "No thanks" "Residential Center Socialize Menu">> <</link>>You take a shortcut through a dark alley. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You walk by an unlocked dumpster. <br> <br>
<<link "Search inside">> <<passtime 10>>
<<= either("<<lootItem 2 OldPhone 1>>", "<<lootItem 0 Ration 1>>", "<<lootItem 2 OldClock 1>>", "<<lootItem 0 StarchSnack 1>>", "<<lootItem 0 Whiskey 1>>" )>>
<<goto $location>> <</link>> <<showTime 10>> <br>
<<link "Keep walking">> <<goto $location>> <</link>>As you walk through the alley you see a dumpster ahead move. Before you can walk past, an old servant bot jumps out from the trash and shambles in your direction! <br> <br>
<<link "Defend yourself!">> <<startFight>> <<createEnemy RustBot 1>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Old Bot Win">> <<set $surrender to "Slum Event Old Bot Surrender">> <</link>> <br>
<<if $botHacking is 1>> <<if $power gte 5>> <<link "Hack into submission">> <<attCheck 3 5 15 12>> <<set $power -= 5>>
<<if $success is 1>>
<<goto "Slum Event Old Bot Hack">>
<<else>> <<set $message.push("Hacking failed...")>>
<<startFight>> <<createEnemy RustBot 1>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Old Bot Win">> <<set $surrender to "Slum Event Old Bot Surrender">>
<</if>>
<</link>> <<showCheck 3 5 15>> | <span style="color:orange">5 Core Power</span> <<else>> <span style="color:orange">Not enough power to hack.</span> <</if>> <</if>>The servant bot crashes against the dumpster and soon disconnects permanently. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You sit on the ground and look down, appearing non-threatening. The old bot kicks you a few times. <<enemyStrike 60>> <br> <br> Eventually it gives up, seeing none of your parts would fit it. It goes back into the dumpster. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You manage to remotely hack the servant bot! It glitches out, shambling for a few moments, before finally turning off. <<gainSkill Hacking 10 20>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumThug>>
A <<np name>> is waiting leaning on a wall. When you approach <<np he>> blocks your path. <br> <br>
"Ey, there's a fee to walk through here." <<np He>> says. "Fifty creds." <br> <br>
<<if $credit gte 50>> <<link "Pay up" "Slum Event Thug Pay">> <</link>> <<payTip 50>> <br> <</if>>
<<link "Run away" "Slum Event Thug Run">> <<attCheck 4 5 15 12>> <</link>> <<showCheck 4 5 15>>You pay up. <<loseCred 50>> <br> <br>
"Proceed." <<np He>> says sarcastically, moving out of the way. <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You suddenly dodge the <<np name>> and sprint away.
<<if $success is 1>> <span style="color:limegreen"> You manage to outrun <<np him>>. </span> <br> <br> <<gainXP 10>> <br> <br> <<link "Continue">> <<goto $location>> <</link>> <<else>>
<span style="color:red"> <<np He>> catches you. </span> <br> <br>
"This' what happens when you don't follow the rules." <<np He>> says. <br> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Thug Win">> <<set $surrender to "Slum Event Thug Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <</if>>The thug falls to the ground in pain. You take the opportunity to run away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The <<np name>> produces a jetpen and <span style="color:red">injects you with it.</span> <br> <br>
"That's your punishment. Go away." <<np He>> pushes you in the direction you where going. <br> <br>
<<link "Continue">> <<set _debuff to weightedEither(setup.randomMinorDebuff)>> <<applyPermStatus _debuff>> <<goto $location>> <</link>><<if $playerStat.UpperCover gt 10 and $playerStat.LowerCover gt 10>>
<<set _dayChance to 8>> <<set _nightChance to 0>> <<if $dayCycle is "night">> <<set _nightChance to 5>> <<set _dayChance to 0>> <</if>>
<<set _type to weightedEither({
none: 0,
day: _dayChance,
night: _nightChance,
})>>
<<set _rarity to weightedEither({
common: 90,
uncommon: 0,
})>>
<<if _type is "day">>
<<if _rarity is "common">> <<set _event to {
"Slum Event Dark Alley": 20,
"Slum Event Dumpster": 10,
"Slum Event Old Bot": 10,
"Slum Event Thug": Math.trunc(8 *(_bait /100)) +2,
"Moth Attack": Math.trunc(8 *(_bait /100)),
}>>
<<elseif _rarity is "uncommon">> <<set _event to {
}>>
<</if>>
<<elseif _type is "night">>
<<if _rarity is "common">> <<set _event to {
"Slum Event Night Attack": 10,
"Slum Event See Gang": 10,
}>>
<<elseif _rarity is "uncommon">> <<set _event to {
"Slum Event Two Thugs": 10,
}>>
<</if>>
<</if>>
<<else>>
/* events for when the player is exposed in the streets */
<<set _type to weightedEither({
trivial: 10,
danger: 6,
})>>
<<set _rarity to weightedEither({
common: 100,
})>>
<<if _type is "trivial">> <<set _event to {
"Slum Event Exposed Stares": 10,
"Slum Event Exposed Groping": 10,
"Slum Event Exposed Oral": 10,
"Slum Event Exposed Gropepay": 10,
}>>
<<if $negRep[0] gt 0>> <<set _event["Slum Event Exposed Recording"] to 10>> <</if>>
<<elseif _type is "danger">> <<set _event to {
"Slum Event Exposed Attack": 10,
}>>
<</if>>
<</if>>
<<if _event isnot undefined>>
<<set _event to weightedEither(_event)>>
<</if>>
/* forced or story events should go here -- later ones take priority */
<<if $rep[1] gte 1 and $visit.includes("Combat Rep First") is false>> <<set _event to "Combat Rep First">> <</if>>
<<if $need[4] lte 0>> <<set _event to "Slum Event Low Release">> <</if>>
<<jaimeEvent>><<if $visit.includes(passage()) is false>>
You approach the smoke factory. A huge open furnace burns constantly, and you see a few people throwing old clothes and furniture into the fire. An old bot goes around transfering credits for the items "donated".
<<else>>
You approach the smoke factory. The huge open furnace burns, waiting for more stuff to eat.
<</if>>
<br> <br>
<<link "Throw stuff into the fire..." "Burn Item">> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <</link>> <br> <br>
<<link "Leave">> <<passtime 5>> <<set $location to "Sector D1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>><-- <<link "Leave">> <<goto $location>> <</link>>
<br> <br>
<span style="color:gold"> Categories </span>
<span data-nokeys="true">
<<for _i to 0; _i lt setup.clothCat.length; _i++>> <<capture _i>>
| <<if $invTarget isnot _i>> <<link "<<= setup.clothCat[_i]>>">> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $invTarget to _i>> <<set _go to passage()>> <<goto _go>> <</link>> <<else>> <<= setup.clothCat[_i]>> <</if>> (<<= $wardrobe[_i].length>>)
<</capture>> <</for>>
</span>
<br> <br>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $wardrobe[$invTarget].length>> <<capture _i>>
<div class="cardBox"> <<set _id to $wardrobe[$invTarget][_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $wardrobe[$invTarget][_i][2] isnot undefined>> (<<= $wardrobe[$invTarget][_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $wardrobe[$invTarget][_i][1]>> <<else>> <<percent $wardrobe[$invTarget][_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> <br>
<<if setup[_id].burn isnot undefined>> <<set _burn to setup[_id].burn>> <<else>> <<set _burn to 10>> <</if>>
<<link "Burn for _burn credits">>
<<set $message.push("You throw the " + setup[_id].name + " into the fire! <<gainCred " + _burn + ">>")>>
<<set $wardrobe[$invTarget].deleteAt(_i)>>
<<if $pageStart gte $wardrobe[$invTarget].length and $pageStart gt 0>> <<set $pageStart -= 10>> <<set $pageEnd -= 10>> <</if>>
<<goto "Burn Item">>
<</link>>
</span>
<</capture>> </div>
<</capture>>
<</if>> <</for>>
<<if $wardrobe[$invTarget].length gt 10>>
<<if $pageStart gt 0>> <<link "Previous page">>
<<set $pageStart -= 10>> <<set $pageEnd -= 10>>
<<set _go to passage()>> <<goto _go>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $wardrobe[$invTarget].length>> <<link "Next page">>
<<set $pageStart += 10>> <<set $pageEnd += 10>>
<<set _go to passage()>> <<goto _go>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>>You enter the Government Center, walking past the fences of protesters and the armed turrets scanning the crowd. The wall on your left is an advertisement for the official government sponsor: Skyfire Industries, the number one weapon manufacturer in the world. <br> <br>
<<link "Continue" "Government Center">> <</link>>You are at the Government Center in the lower districts.
There's a few bot receptionists and too many people waiting. You'll have to get in line to get any attention. <br>
<<if $citizenship is 0>> <br>
<<if $dayFlag.DTierAttempt is undefined>>
<<link "Try to get your D-Tier citizenship" "Government Center DTier">> <<passtime 60>> <<set $dayFlag.DTierAttempt to 1>> <</link>> <<showTime 60>>
<<else>>
<span style="color:orange">You already tried for your D-Tier citizenship today. </span>
<</if>>
<br>
<</if>>
<br>
<<link "Just leave">> <<set $location to "Sector A3">> <<event "Slum Eventpool Main">> <</link>>You wait in the line for D-Tiers ID's. There's a few synths and hybrids in front of you. No matter how different they look to each other, they all seem equally nervous. <br> <br>
Finally it's your turn. The receptionist beeps at you and presents you a screen. <br> <br>
"Please fill this test." <br> <br>
<<link "Continue" "Government Center DTier Test">> <</link>>You get to work answering multiple questions. There's a bit of everything: common sense, ethics-related, some even seem like trick questions. You are not sure how well you are doing until you're done and the receptionist processes your answers. <br> <br>
"You got <<percent $xpLevel 8 green>>." The bot receptionist says.
<<if $xpLevel is 0>>
"If you just came out from the factory, please refer to your local synth care center instead." You mention there's no such building in this city. "Please refer to the closest synth care center instead. Have a nice day." <br> <br>
The receptionist completely ignores you now, moving on to the next on line. <br> <br>
<<gainXP 150>> <br> <br>
<<link "Just leave" "Government Center">> <</link>>
<<elseif $xpLevel lte 3>>
"Synths are required to score at least 50% to be elligible. Have a nice day." <br> <br>
The receptionist completely ignores you now, moving on to the next on line. <br> <br>
<<gainXP 150>> <br> <br>
<<link "Just leave" "Government Center">> <</link>>
<<else>>
<<if $xpLevel is 4>> <<set $cost to 3500>>
<<elseif $xpLevel is 5>> <<set $cost to 3000>>
<<elseif $xpLevel is 6>> <<set $cost to 2500>>
<<elseif $xpLevel is 7>> <<set $cost to 2000>>
<<else>> <<set $cost to 1500>>
<</if>>
"You are elligible for a D-Tier Citizenship ID. Due to your score, it would cost you <span style="color:gold">$cost</span> credits. Would you like to purchase it?" <br> <br>
<<if $credit gte $cost>> <<link "Pay for it" "Government Center DTier Test Buy">> <<loseCred $cost>> <<questFlag DTierBuy>> <</link>> <<payTip $cost>> <br> <</if>>
<<link "Nevermind" "Government Center DTier Test No">> <</link>>
<</if>>The receptionist quickly validates your new ID. <br> <br>
"Congratulations." It says before moving to the next in line. <br> <br>
<<link "Continue" "Government Center">> <<addQuest CitizenshipQuestD>> <<set $eventSpecial.push("KaliMeet")>> <</link>>"We hope you reconsider in the future." The receptionist says, moving on to the next in line. <br> <br>
<<link "Continue" "Government Center">><</link>><<if $visit.includes(passage()) is false>>
<<set $standardSpa to 0>>
You enter the spa looking at glass floor and the distant ocean below. It almost makes you dizzy. When you look up again you find a female bot with a traditional spa attendant appeareance: a white uniform and a plastic bun of hair. Her synthetic mouth curves in a cold proffesional smile. <br> <br>
"Welcome to Seaside Relaxation Spa. How may I assist you today?" She asks while presenting to you a touchscreen with a few options. <br> <br>
<<else>>
You enter the spa while staring at the ocean below. The receptionist bot greets you with a corporate friendly smile. <br> <br>
"Welcome back to Seaside Relaxation Spa. How may I assist you today?" She asks while presenting to you a touchscreen with a few options. <br> <br>
<</if>>
<<if $credit gte 200 and $dayFlag.StandardSpa is undefined>>
<<link "Standard Relaxation Treatment" "Slum Spa Standard">> <<set $standardSpa += 1>> <<set $dayFlag.StandardSpa to 1>> <</link>> <<else>> Standard Relaxion Treatment <</if>> <<showTime 30>> - <<payTip 200>> <br>
<br>
<<link "Leave the spa">> <<set $location to "Sector B1">> <<event "Slum Eventpool Main">> <<passtime 2>> <</link>> <<showTime 2>><<if $visit.includes(passage()) is false>>
You select the Standard Relaxation Treatment. Payment is up front, so after you confirm the transfer you are lead to a side room. <<loseCred 200>> <br> <br>
A bot attendant greets you and leads you to a reclining chair. "Please, make yourself comfortable. Your treatment will begin shortly." She says before leaving the room. <br> <br>
You wait for a couple minutes. The wall in front of you is mostly glass, showing you an unlimited view of the oceanic horizon and the permanently clouded sky ahead. Nothing out there but the occasional plastic island. You don't realize when it starts, but slowly the view starts to blur... <br> <br>
<<else>>
You select the Standard Relaxation Treatment again. After confirming the payment, you are lead to the usual side room where you take a seat. <<loseCred 200>> <br> <br>
You stare at the ocean ahead for a few minutes before you feel your consciousness start to slip... <br> <br>
<</if>>
<<link "Continue">> <<passtime 30>> <<set $message.push("<<gainNeed 0 600>> <<gainNeed 3 3500>>")>><<goto "Slum Spa Standard 2">> <</link>><<if $visit.includes(passage()) is false>>
You wake up some time later. The curated smile of one of the bot attendants is the first thing you see. "Your treatment is complete. Please vacuate the room." She says. <br> <br>
You look around confused. You feel relaxed, but you have no recollection of what happened. You check yourself just to confirm all your parts are in place. <br> <br>
"Please remain calm." The bot says. "Our treatment involves total consciousness suppression. Is the most effective relaxation method for humans and synths alike. There's nothing to fear." <br> <br>
You blink. You don't remember seeing any warning or disclaimer about that. Anything could have happened while you were unconscious... <br> <br>
You are soon ushered outside the spa by the attendant bot without a chance to complain. <br> <br>
<<else>>
You wake up some time later, feeling extremely relaxed. An attendant bot is looking at you with a proffesional smile. "Your treatment is complete. Please vacuate the room." She says. <br> <br>
Moving slowly, you soon leave the spa. <br> <br>
<</if>>
<<link "Leave the spa">> <<set $location to "Sector B1">> <<event "Slum Eventpool Main">> <<passtime 2>> <</link>> <<showTime 2>><<if $visit.includes(passage())>>
You enter the shop. Synth Lover is behind the counter. It smiles at you, and you look away. <br> <br>
<<link "Continue" "Synth Lover Shop">> <</link>>
<<else>>
You enter the shop. There's not much to see inside... empty display cases, open Icarus boxes and no one on the counter. You are starting to believe the shop is completely abandoned, but then a hand gently settles on your shoulder. You look behind you to find an unnaturally tall figure smiling down at you, wearing a long dark hood. You can't tell if it's human, bot or synth. <br> <br>
"Don't be scared." It says in an equally ambiguous speech. You step back. "Aren't you a perfect little thing. I love stuff like you. Do you want to be my friend?"
<br> <br>
<<link "Say yes" "Synth Lover Shop Visit Yes">> <</link>> <br>
<<linkreplace "Say no">> <</linkreplace>>
<</if>>"Yes, you do." It agrees smiling. "This is my shop. Why don't you look around the back? Find something you like... and maybe later you can give me something I need, too." <br> <br>
'And, if you could ever bring one of your friends, I'd love that too...' <br> <br>
<<link "Nod" "Synth Lover Shop Visit Nod">> <</link>> <br>"Splendid. Isn't it? Let me know if you need anything." <br> <br>
It walks around the counter, where it just stares and smiles at you. You look away. <br> <br>
<<passageXP 25>> <br> <br>
<<link "Continue" "Synth Lover Shop">> <</link>>You are inside Synth Lover's shop. <br> <br>
<-- <<link "Leave" "Sector E5">> <<set $location to "Sector E5">> <</link>> <br> <br>
You've spent <span style="color:gold"> $synthLoverCred </span> Credits here so far. <br> <br>
<<link "Browse items" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Synth Lover Shop">>
<<set $shop to [
["IcarusRechargeCell", 250, 0],
["IcarusRepairKit", 500, 0],
["IsolationHelmet", 700, 3],
["BehaviorClicker", 1500, 7],
]>>
<<set $shopCode to "SynthLoverBuy">>
<</link>> <br>
<<link "Buy Synth parts">>
<<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Synth Lover Shop">>
<<if $dayFlag["SynthLoverShop"] is undefined>> <<set $dayFlag["SynthLoverShop"] to []>> <<set _partList to []>>
<<set _slItems to 5>>
<<if $synthLoverCred gte 1000>> <<set _slItems += 1>> <</if>>
<<if $synthLoverCred gte 2500>> <<set _slItems += 1>> <</if>>
<<if $synthLoverCred gte 5000>> <<set _slItems += 1>> <</if>>
<<if $synthLoverCred gte 10000>> <<set _slItems += 1>> <</if>>
<<mult _slItems>> <<set _add to 0>>
<<for _add is 0>>
<<set _rarity to weightedEither({
Common: 60, Uncommon: 30, Rare: 10,
})>>
<<if _rarity is "Common">> <<set _partID to setup.commonBodyParts.random()>> <<set _partCost to random(2000, 2500)>>
<<elseif _rarity is "Uncommon">> <<set _partID to setup.uncommonBodyParts.random()>> <<set _partCost to random(3500, 5000)>>
<<elseif _rarity is "Rare">> <<set _partID to setup.rareBodyParts.random()>> <<set _partCost to random(7000, 10000)>>
<</if>>
<<if _partList.includes(_partID)>> <<else>> <<set _add to 1>> <</if>>
<</for>> <<set $dayFlag["SynthLoverShop"].push([_partID, _partCost, 4])>> <<set _partList.push(_partID)>>
<</mult>>
<</if>>
<<set $shop to $dayFlag["SynthLoverShop"]>> <<set $shopCode to "SynthLoverBuy">> <<goto "Shop">>
<</link>>
<br>
<<link "Buy internal nodes">>
<<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Synth Lover Shop">>
<<if $dayFlag["SynthLoverNode"] is undefined>> <<set $dayFlag["SynthLoverNode"] to []>> <<set _partList to []>>
<<set _slItems to 5>>
<<if $synthLoverCred gte 1000>> <<set _slItems += 1>> <</if>>
<<if $synthLoverCred gte 2500>> <<set _slItems += 1>> <</if>>
<<if $synthLoverCred gte 5000>> <<set _slItems += 1>> <</if>>
<<if $synthLoverCred gte 10000>> <<set _slItems += 1>> <</if>>
<<mult _slItems>> <<set _add to 0>>
<<for _add is 0>>
<<set _partID to weightedEither(setup.RandomNode)>> <<set _partCost to random(setup[_partID].value * 400, setup[_partID].value * 600)>>
<<if _partList.includes(_partID)>> <<else>> <<set _add to 1>> <</if>>
<</for>> <<set $dayFlag["SynthLoverNode"].push([_partID, _partCost, 5])>> <<set _partList.push(_partID)>>
<</mult>>
<</if>>
<<set $shop to $dayFlag["SynthLoverNode"]>> <<set $shopCode to "SynthLoverBuy">> <<goto "Shop">>
<</link>>
<br> <br>
<<link "Sell a synth part" "Item Selection">> <<set $invTarget to 4>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $previous to "Synth Lover Shop">> <<set $aftermath to "Synth Lover Part Sell">> <<set $tagWanted to "part">> <</link>>
<br>
<<link "Sell an internal node" "Item Selection">> <<set $invTarget to 5>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $previous to "Synth Lover Shop">> <<set $aftermath to "Synth Lover Node Sell">> <<set $tagWanted to "node">> <</link>>
<br>You show Synth Lover the <<= setup[$itemSelected].name>>. <br> <br>
<<if setup[$itemSelected].tags.includes("og")>>
<<if $synthLoverOgParts.length is 0>> <<set $offer to 1600>>
"... oh my. Would you really part from this...?" Synth Lover smiles. "I can't say no to getting a piece of yourself... but I do have limited funds. I could give you... $offer credits?" <br> <br>
<<else>> <<set $offer to 1600 +($synthLoverOgParts.length *200)>>
"... really? You'd give me another piece of yourself?" Synth Lover smiles. "I want it more than anything in the world. Can I give you $offer credits for it?" <br> <br>
<</if>>
<<elseif $inventory[4][$itemSelectedIndex][1] is 100>> <<set $offer to 1000>>
"Mint condition huh... I'll give you 1000 credits..." <br> <br>
<<elseif $inventory[4][$itemSelectedIndex][1] gte 80>> <<set $offer to 800>>
"Shouldn't be too hard to repair this... I'll give you 800 credits." <br> <br>
<<elseif $inventory[4][$itemSelectedIndex][1] gte 50>> <<set $offer to 600>>
"Hm... I'll give you 600 credits for this one." <br> <br>
<<elseif $inventory[4][$itemSelectedIndex][1] gte 35>> <<set $offer to 400>>
"It won't be easy to fix this one up... I can give you 400 credits." <br> <br>
<<elseif $inventory[4][$itemSelectedIndex][1] gte 20>> <<set $offer to 200>>
"What happened to this poor thing? I can only give you 200 creds..." <br> <br>
<<else>> <<set $offer to 100>>
"I don't think I can do much with this. But I'll give you 100 creds so you don't have to carry it around." <br> <br>
<</if>>
<<link "Accept" "Synth Lover Part Sell Accept">> <<set $inventory[4].deleteAt($itemSelectedIndex)>> <<if setup[$itemSelected].tags.includes("og")>> <<set $synthLoverOgParts.push($itemSelected)>> <</if>> <</link>> <br>
<<link "Refuse">> <<unset $offer>> <<goto $previous>> <</link>>You hand over the part. Synth Lover smiles. <br> <br>
<<if setup[$itemSelected].tags.includes("og")>>
"I'll cherish this forever..." It says in an almost enamoured tone. <br> <br>
You shiver as Synth Lover takes your <<= setup[$itemSelected].name>> to the back of the shop. <span style="color:red">Parting from a piece of yourself hurts you inside.</span> <<set _ouch to 50 +($synthLoverOgParts.length *50)>> <<trauma 0 _ouch>> <<set _ouch to Math.clamp(_ouch *10, 0, $need[3] *0.5)>> <<loseNeed 3 _ouch>>
<<addMemory 6>>
<<else>>
"Always a pleasure." It says.
<</if>>
<<gainCred $offer>> <<unset $offer>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $previous>> <</link>>
<<unset $itemSelected>>You show Synth Lover the <<= setup[$itemSelected].name>>.
Synth Lover makes a weird sound of appraisal. <br> <br>
<<if setup[$itemSelected].value is 1>> <<set $offer to 200>>
"I do love the inside bits too..." It says. "I'll give you 200 credits for this one." <br> <br>
<<elseif setup[$itemSelected].value is 2>> <<set $offer to 350>>
"This one is interesting..." It says. "I'll give you 350 credits for it." <br> <br>
<<elseif setup[$itemSelected].value is 3>> <<set $offer to 600>>
"Very interesting..." It says. "I'll give you 600 credits." <br> <br>
<</if>>
<<link "Accept" "Synth Lover Node Sell Accept">> <<set $inventory[5].deleteAt($itemSelectedIndex)>> <<unset $itemSelected>> <</link>> <br>
<<link "Refuse">> <<unset $offer>> <<goto $previous>> <</link>>You hand over the node. Synth Lover smiles. <br> <br>
"Always a pleasure." It says. <<gainCred $offer>> <<unset $offer>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $previous>> <</link>><<if $dayFlag.SynthLover is undefined>>
<<if $synthLoverCred is undefined>>
<<set $synthLoverCred to 0>>
<<set $synthLoverOgParts to []>>
<<elseif $synthLoverCred gte 2000 and $visit.includes("Synth Lover First Gift") is false>>
<<set _event to "Synth Lover First Gift">>
<<elseif $synthLoverOgParts.length gt 0 and $visit.includes("Synth Lover OG Part Display") is false>>
<<set _event to "Synth Lover OG Part Display">>
<<elseif $trauma gt 600 and $visit.includes("Synth Lover Trauma Tracker") is false>>
<<set _event to "Synth Lover Trauma Tracker">>
<</if>>
<</if>>
<<if _event is undefined>> <<set _event to "Synth Lover Visit">> <</if>>
<<set $dayFlag.SynthLover to _event>>You enter Synth Lover's shop. It is behind the counter, smiling at you as always. You look away... then do a double take. On the wall, next to Synth Lover, you see your <<= setup[$synthLoverOgParts[0]].name>> displayed in a glass case. <br> <br>
"I hope you don't mind." It grins. "I just liked it so much... I wanted to show everyone who comes by what a perfect little thing you are." <br> <br>
'And, of course, I really enjoy having a piece of you close by...' <br> <br>
You look away again. <<loseNeed 3 600>> <<if $need[3] lt 0>> <<set $need[3] to 60>> <</if>> <br> <br>
<<passageXP 50>> <br> <br>
<<link "Continue">> <<trauma 10 0>> <<goto $location>> <</link>>You enter Synth Lover's shop. It is behind the counter, smiling at you as always.... but when you approach, it's smile falters. <br> <br>
"Oh, that's interesting." It tilts it's head at you. "You poor thing." <br> <br>
You stare at it in confusion. Its smile returns slowly. <br> <br>
"I can see it in your eyes... you had a rough time here, haven't you?" <br> <br>
<<link "Nod" "Synth Lover Trauma Tracker 1">> <<set $answer to 0>> <</link>> <br>
<<link "Deny it" "Synth Lover Trauma Tracker 1">> <<set $answer to 1>> <</link>><<if $answer is 0>>
You nod hesitantly. Your mind goes to everything bad that happened since you got to this city...
<<elseif $answer is 1>>
You deny it, but your mind goes to everything bad that happened since you got to this city...
<</if>>
<br> <br>
"It sticks to you, doesn't it?" Synth Lover says. "No matter how much you try to forget... I didn't think synths could also have that problem. I wonder if it's by design, or perhaps an emergent feature...?" <br> <br>
You are not sure what it's talking about. It stares at you for a few moments longer. <br> <br>
"Keep track of it, please? I'd hate it if something happened to a cute little thing like you." <br> <br>
You don't know what to say, so you just nod. Synth Lover smiles. <br> <br>
<<if $traumaTracker is undefined>>
<span style="color:limegreen"> Keep track of your unsolved Trauma levels from the Mental tab in your Status screen.</span> <br> <br> <<set $traumaTracker to 1>>
<</if>>
<<link "Continue">> <<goto $location>> <</link>>You enter the shop. Synth Lover has a different type of smile today. <br> <br>
"I've been waiting for you." It says, leaving a small clicker on the counter. "This is a gift for your invesment in my little shop. Enjoy it." <br> <br>
<<showItem TrainingClicker 50>> <br> <br>
<<link "Continue">> <<lootItem 7 TrainingClicker 50>> <<goto $location>> <</link>><<widget "sectorStreetOptions">>
<<if $debug is 1>>
DEBUG <<link "See eventpool">> <<for _event is undefined>> <<event "Slum Eventpool Main" test>> <</for>> Showing events that are possible to find if you choose to "walk around" in this sector right now. Some events are excluded (story / conditional). The number next to each shows their weighted chance. <br> <br> <<dialog>> <<for _key, _value range _event>> <<link "_key" _key>> <</link>> (_value) <br> <</for>> <</dialog>> <</link>>
<br> <br>
<</if>>
<<link "Walk around">> <<passtime 5>> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>>
<</widget>><-- <<link "Go back">> <<goto $location>> <</link>>
<br><br>
<<set _map to [
["Sector A1", "Sector A2", "Sector A3", "Sector A4", "Sector A5"],
["Sector B1", "Sector B2", "Sector B3", "Sector B4", "Sector B5"],
["Sector C1", "Sector C2", "Sector C3", "Sector C4", "Sector C5"],
["Sector D1", "Sector D2", "Sector D3", "Sector D4", "Sector D5"],
["Sector E1", "Sector E2", "Sector E3", "Sector E4", "Sector E5"],
]>>
<<set _abbr to [
["A1", "A2", "A3", "A4", "A5"],
["B1", "B2", "B3", "B4", "B5"],
["C1", "C2", "C3", "C4", "C5"],
["D1", "D2", "D3", "D4", "D5"],
["E1", "E2", "E3", "E4", "E5"],
]>>
<table>
<<for _rowIndex = 0; _rowIndex lt _map.length; _rowIndex++>>
<tr>
<<for _colIndex = 0; _colIndex lt _map[_rowIndex].length; _colIndex++>>
<<set _sectorName to _map[_rowIndex][_colIndex]>>
<<set _sectorAbbr to _abbr[_rowIndex][_colIndex]>>
<td style="border: 1px solid black; padding: 5px; text-align: center; width: 50px; height: 30px;">
<<if $location is _sectorName>>
<span style="color:gold">_sectorAbbr</span>
<<else>>
_sectorAbbr
<</if>>
</td>
<</for>>
</tr>
<</for>>
</table>
<br> <br>
<span style="color:gold">Gold</span> marks your current location. <br> <br>
<span style="color:aqua">Sector C3</span> --> New Life Residential Center <br> <br>
<span style="color:aqua">Sector B4</span> --> Mall <br>
<span style="color:aqua">Sector D4</span> --> Street Market <br>
<span style="color:aqua">Sector E3</span> --> Hell Gate <br>
<br>
<<if $visit.includes("Government Center Enter")>>
<span style="color:aqua">Sector A3</span> --> Government Center <br>
<</if>>
<<if $visit.includes("Slum Spa Enter")>>
<span style="color:aqua">Sector B1</span> --> Spa <br>
<</if>>
<<if $visit.includes("Slum Gym Enter")>>
<span style="color:aqua">Sector C5</span> --> Powerhouse Gym <br>
<</if>>
<<if $visit.includes("Bar")>>
<span style="color:aqua">Sector E2</span> --> Wasted Spit Bar <br>
<</if>>
<<if $visit.includes("Synth Lover Visit")>>
<span style="color:aqua">Sector E5</span> --> Synth Lover Shop <br>
<</if>><<if _passout is undefined>>
<h3>Sector A1</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.<br><br>
<<sectorStreetOptions>>
<br><br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector A2">> <<passtime 5>> <<set $location to "Sector A2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector B1">> <<passtime 5>> <<set $location to "Sector B1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector A2</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.<br><br>
<<sectorStreetOptions>>
<br><br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector A1">> <<passtime 5>> <<set $location to "Sector A1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector A3">> <<passtime 5>> <<set $location to "Sector A3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector B2">> <<passtime 5>> <<set $location to "Sector B2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector A3</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.
The only ground entrance to the high districts is here, to the north. There's always a crowd waiting to get in through the heavily guarded gates.<br><br>
<<sectorStreetOptions>>
<br><br>
The lower districts' government center is here. <br>
<<link "Enter" "Government Center Enter">> <<passtime 5>> <</link>> <<showTime 5>>
<br> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector A2">> <<passtime 5>> <<set $location to "Sector A2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector A4">> <<passtime 5>> <<set $location to "Sector A4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector B3">> <<passtime 5>> <<set $location to "Sector B3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector A4</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.<br><br>
<<sectorStreetOptions>>
<br><br>
The lower district's medical center is here. Synths aren't allowed inside.
<br><br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector A3">> <<passtime 5>> <<set $location to "Sector A3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector A5">> <<passtime 5>> <<set $location to "Sector A5">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector B4">> <<passtime 5>> <<set $location to "Sector B4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector A5</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.<br><br>
<<sectorStreetOptions>>
<br><br>
<<if _hideForNow>>
There's a lab from Elixir Company here, the biggest farmaceutic in the world. <br>
<<if $hours gte 8 and $hours lte 20>>
<<link "Enter the lab" "Slum Lab">> <<passtime 2>><</link>> <<showTime 2>>
<<else>><span style="color:orange">The lab is closed at this hour.</span> (Open from 8 to 20)<</if>>
<br><br> <</if>>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector A4">> <<passtime 5>> <<set $location to "Sector A4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector B5">> <<passtime 5>> <<set $location to "Sector B5">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector B1</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.<br><br>
<<sectorStreetOptions>>
<br><br>
There's a spa here, built on a bridge a distance away from the main city platform. The glass floor offers a view of the sea below. <br>
<<if $citizenship gt 0>>
<<if $hours gte 8 and $hours lt 20>>
<<link "Enter the spa" "Slum Spa Enter">> <<passtime 2>> <</link>> <<showTime 2>>
<<else>><span style="color:orange">The spa is closed at this hour.</span> (Open from 8 to 20) <</if>>
<<else>> <span style="color:orange"> You need a D-tier ID or above to access legally. </span> <</if>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector A1">> <<passtime 5>> <<set $location to "Sector A1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Alley East</span> - <<link "Sector B2">> <<passtime 10>> <<set $location to "Sector B2">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector C1">> <<passtime 5>> <<set $location to "Sector C1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector B2</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.<br><br>
<<sectorStreetOptions>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector A2">> <<passtime 5>> <<set $location to "Sector A2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Alley West</span> - <<link "Sector B1">> <<passtime 10>> <<set $location to "Sector B1">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector B3">> <<passtime 5>> <<set $location to "Sector B3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector C2">> <<passtime 5>> <<set $location to "Sector C2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector B3</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.<br><br>
<<sectorStreetOptions>>
<br><br>
The lower districts' police headquarters are here. It's a complex building that doubles as a prison. Police drones swarm above.
<<haveItem 7 SprayPaint 1>> <<if _has isnot "no">> <br>
<<link "Do some graffiti">> <<passtime 15>> <<set $location to "Sector A4">> <<event "Police Graf Eventpool">> <</link>> <<showTime 15>>
| <span style="color:red">Vengeful</span> - <<crimeTip>>
<</if>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector A3">> <<passtime 5>> <<set $location to "Sector A3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector B2">> <<passtime 5>> <<set $location to "Sector B2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector B4">> <<passtime 5>> <<set $location to "Sector B4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector C3">> <<passtime 5>> <<set $location to "Sector C3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector B4</h3>
A hectic commercial area. Neon signs light up the street and ads deafen the air.<br><br>
<<sectorStreetOptions>>
<br><br>
The lower district's main mall is here. It sells almost everything.<br>
<<if $hours gte 6 and $hours lte 21>>
<<link "Enter the mall" "Slum Mall">> <<passtime 10>><</link>> <<showTime 10>>
<<else>> <span style="color:orange">The mall is closed at this hour</span> (Open 6 to 21) <</if>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector A4">> <<passtime 5>> <<set $location to "Sector A4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector B3">> <<passtime 5>> <<set $location to "Sector B3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector B5">> <<passtime 5>> <<set $location to "Sector B5">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector C4">> <<passtime 5>> <<set $location to "Sector C4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector B5</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.<br><br>
<<sectorStreetOptions>>
<br> <br>
The lower districts' college is here. Students linger on the streets, most smoking or drinking.
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector A5">> <<passtime 5>> <<set $location to "Sector A5">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector B4">> <<passtime 5>> <<set $location to "Sector B4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Alley South</span> - <<link "Sector C5">> <<passtime 10>> <<set $location to "Sector C5">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector C1</h3>
A dense industrial area filled with the mechanic groans of the factories that keep the city running.<br><br>
<<sectorStreetOptions>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector B1">> <<passtime 5>> <<set $location to "Sector B1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector C2">> <<passtime 5>> <<set $location to "Sector C2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector D1">> <<passtime 5>> <<set $location to "Sector D1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector C2</h3>
A dense industrial area filled with the mechanic groans of the factories that keep the city running.<br><br>
<<sectorStreetOptions>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector B2">> <<passtime 5>> <<set $location to "Sector B2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector C1">> <<passtime 5>> <<set $location to "Sector C1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Alley East</span> - <<link "Sector C3">> <<passtime 10>> <<set $location to "Sector C3">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector D2">> <<passtime 5>> <<set $location to "Sector D2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector C3</h3>
A relatively safe sector crowded with office buildings. The Residential Center where you live is an odd exception.<br><br>
<<sectorStreetOptions>>
<br><br>
The New Life Residential Center is nearby. The entrance is guarded by a pair of armed turrets. Humans maintain a wary distance.<br>
<<link "Enter the residential center" "Residential Center">> <<passtime 2>> <<set $region to "Home">> <</link>> <<showTime 2>>
<<checkWeekFlag UnitJob CleanGraf>>
<<if _flag is 1>><br>
<<link "Clean graffiti">> <<passtime 20>> <<set $location to "Sector C3">> <<event "Clear Graffiti Eventpool">> <</link>> <<showTime 20>> | <<percent $unitJob_Progress 40 green>>
<</if>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector B3">> <<passtime 5>> <<set $location to "Sector B3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Alley West</span> - <<link "Sector C2">> <<passtime 10>> <<set $location to "Sector C2">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector C4">> <<passtime 5>> <<set $location to "Sector C4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector D3">> <<passtime 5>> <<set $location to "Sector D3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector C4</h3>
A hectic commercial area. Neon signs light up the street and ads deafen the air.<br><br>
<<sectorStreetOptions>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector B4">> <<passtime 5>> <<set $location to "Sector B4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector C3">> <<passtime 5>> <<set $location to "Sector C3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector C5">> <<passtime 5>> <<set $location to "Sector C5">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector D4">> <<passtime 5>> <<set $location to "Sector D4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector C5</h3>
A hectic commercial area. Neon signs light up the street and ads deafen the air.<br><br>
<<sectorStreetOptions>>
<br><br>
There's a massive gym here. <<if $hours gte 6 and $hours lte 21>> There's multiple people inside, training or sparring. Holograms on the walls advertise various performance drugs and body mods.<br>
<<if $citizenship gt 0>>
<<link "Enter the gym" "Slum Gym Enter">> <<passtime 2>><</link>> <<showTime 2>>
<<else>><span style="color:orange">The gym is closed at this hour.</span> (Open from 6 to 21)<</if>>
<<else>> <span style="color:orange"> You need a D-tier ID or above to access legally. </span> <</if>>
<br><br>
⬆️ | <span style="color:aqua">Alley North</span> - <<link "Sector B5">> <<passtime 10>> <<set $location to "Sector B5">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector C4">> <<passtime 5>> <<set $location to "Sector C4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Alley South</span> - <<link "Sector D5">> <<passtime 10>> <<set $location to "Sector D5">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector D1</h3>
A dense industrial area filled with the mechanic groans of the factories that keep the city running.<br><br>
<<sectorStreetOptions>>
<br><br>
A massive factory constantly spews a solid black column of smoke. A sign offers credits for each item thrown into the open furnace. <br>
<<link "Approach" "Burn Factory">> <<passtime 5>> <</link>> <<showTime 5>>
<br> <br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector C1">> <<passtime 5>> <<set $location to "Sector C1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector D2">> <<passtime 5>> <<set $location to "Sector D2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Alley South</span> - <<link "Sector E1">> <<passtime 10>> <<set $location to "Sector E1">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector D2</h3>
A dense industrial area filled with the mechanic groans of the factories that keep the city running.<br><br>
<<sectorStreetOptions>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector C2">> <<passtime 5>> <<set $location to "Sector C2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector D1">> <<passtime 5>> <<set $location to "Sector D1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector D3">> <<passtime 5>> <<set $location to "Sector D3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector E2">> <<passtime 5>> <<set $location to "Sector E2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector D3</h3>
A somewhat open area with multiple skybridges and very high traffic.<br><br>
<<sectorStreetOptions>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector C3">> <<passtime 5>> <<set $location to "Sector C3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector D2">> <<passtime 5>> <<set $location to "Sector D2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector D4">> <<passtime 5>> <<set $location to "Sector D4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Alley South</span> - <<link "Sector E3">> <<passtime 10>> <<set $location to "Sector E3">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector D4</h3>
A hectic commercial area. Neon signs light up the street and ads deafen the air.<br><br>
<<sectorStreetOptions>>
<br><br>
A busy street market prowls here.<br>
<<link "Visit the street market" "Street Market">> <<passtime 2>><</link>> <<showTime 2>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector C4">> <<passtime 5>> <<set $location to "Sector C4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector D3">> <<passtime 5>> <<set $location to "Sector D3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector D5">> <<passtime 5>> <<set $location to "Sector D5">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector E4">> <<passtime 5>> <<set $location to "Sector E4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector D5</h3>
A hectic commercial area. Neon signs light up the street and ads deafen the air.<br><br>
<<sectorStreetOptions>>
<br><br>
⬆️ | <span style="color:aqua">Alley North</span> - <<link "Sector C5">> <<passtime 10>> <<set $location to "Sector C5">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector D4">> <<passtime 5>> <<set $location to "Sector D4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬇️ | <span style="color:aqua">Street South</span> - <<link "Sector E5">> <<passtime 5>> <<set $location to "Sector E5">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector E1</h3>
A dense industrial area filled with the mechanic groans of the factories that keep the city running.
<br><br>
<<sectorStreetOptions>>
<br><br>
⬆️ | <span style="color:aqua">Alley North</span> - <<link "Sector D1">> <<passtime 10>> <<set $location to "Sector D1">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector E2">> <<passtime 5>> <<set $location to "Sector E2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector E2</h3>
A dense industrial area filled with the mechanic groans of the factories that keep the city running.
<br><br>
<<sectorStreetOptions>>
<br><br>
A bar is set up in an old factory of a now bankrupt corporation. A neon sign reads "Wasted Spit". <br>
<<link "Enter the bar" "Bar">> <<passtime 3>> <</link>> <<showTime 3>>
<br> <br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector D2">> <<passtime 5>> <<set $location to "Sector D2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector E1">> <<passtime 5>> <<set $location to "Sector E1">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector E3">> <<passtime 5>> <<set $location to "Sector E3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector E3</h3>
A somewhat open area with multiple skybridges and very high traffic.<br><br>
<<sectorStreetOptions>>
<<if $visit.includes(passage())>> <<else>>
<br><br>
Walking through the crowded street you are soon met with the ominously called Hell Gate: a massive circular hole in the layout of the city, leading a terrifying depth down.<br><br>
Avone is a neo-city, built in a high platform in the ocean and connected to land by bridge. The Hell Gate originally lead to the ocean below... until the water lowered and more and more trash littered, and a massive scrapyard replaced the sea. That scrapyard is known as the Undercity, and you heard its a good place to earn credits.
<</if>>
<br><br>
<<link "Look down the abyss" "Undercity Look">> <</link>> <br> <br>
A platform extends a good distance into the void of the Hell Gate. Elevators and some flying vehicles go up or down, carrying the few that brave to explore the depths.<br>
<<link "Approach the Hell Gate moor" "Slum Hell Stair">> <<passtime 2>><</link>> <<showTime 2>>
<br><br>
⬆️ | <span style="color:aqua">Alley North</span> - <<link "Sector D3">> <<passtime 10>> <<set $location to "Sector D3">> <<event "Slum Eventpool Alley">> <</link>> <<showTime 10>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector E2">> <<passtime 5>> <<set $location to "Sector E2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector E4">> <<passtime 5>> <<set $location to "Sector E4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector E4</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.<br><br>
<<sectorStreetOptions>>
<br><br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector D4">> <<passtime 5>> <<set $location to "Sector D4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector E3">> <<passtime 5>> <<set $location to "Sector E3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
➡️ | <span style="color:aqua">Street East</span> - <<link "Sector E5">> <<passtime 5>> <<set $location to "Sector E5">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if _passout is undefined>>
<h3>Sector E5</h3>
A very crowded residential area where buildings keep getting built on top of each other as more and more people compete for the little space there's left.<br><br>
<<sectorStreetOptions>>
<br><br>
<<if $visit.includes("Synth Lover Visit") is false>> You notice a small run-down shop with a flickering neon sign that reads "Synth Lover".
<<else>> Synth Lover's Shop is here.
<</if>> <br>
<<link "Enter the Shop">> <<set $location to "Synth Lover Shop">> <<event "Synth Lover Shop Eventpool">> <<passtime 1>><</link>> <<showTime 1>>
<br> <br>
⬆️ | <span style="color:aqua">Street North</span> - <<link "Sector D5">> <<passtime 5>> <<set $location to "Sector D5">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
⬅️ | <span style="color:aqua">Street West</span> - <<link "Sector E4">> <<passtime 5>> <<set $location to "Sector E4">> <<event "Slum Eventpool Main">> <</link>> <<showTime 5>> <br>
<br> <<link "View Low Districts Map">> <<goto "Slum Map">> <</link>>
<</if>><<if $playerStat.UpperCover gt 10 and $playerStat.LowerCover gt 10>>
<<set _dayChance to 12>> <<set _nightChance to 0>> <<if $dayCycle is "night">> <<set _nightChance to 8>> <<set _dayChance to 0>> <</if>>
<<set _type to weightedEither({
none: 8,
day: _dayChance,
night: _nightChance,
})>>
<<if _type is "day">>
<<set _event to {
"Slum Event Catcall": 10,
"Slum Event Crack": 10,
"Slum Event Police Drone Flies": 5,
"Slum Event Rich Hologram": 1,
"Slum Event Credit Chip": 2,
"Slum Event Old Badmouth": 2,
"Slum Event Prost": Math.trunc(5 *(_bait /100)),
"Slum Event Strip Attack": Math.trunc(Math.clamp($negRep[0] *4, 0, 12) *(_bait /100)),
"Slum Event Street Hacker": Math.trunc(Math.clamp($totalRep *2, 0, 8) *(_bait /100)),
}>>
<<if setup.SlumSector[$location].event.includes("open")>>
<<run Object.assign(_event, {
"Slum Event Shove": 10,
"Slum Event Homeless": 10,
"Slum Event Truck": 5,
})>>
<<set _event["Slum Event Rich Hologram"] += 1>>
<</if>>
<<if setup.SlumSector[$location].event.includes("residential")>>
<<run Object.assign(_event, {
"Slum Event Grocery Bot": 10,
"Slum Event Crowd Grope": 8,
"Slum Event Move Boxes": 4,
})>>
<</if>>
<<if setup.SlumSector[$location].event.includes("student")>>
<<run Object.assign(_event, {
"Slum Event Thrown": 10,
"Slum Event Student Photos": 3,
})>>
<</if>>
<<if setup.SlumSector[$location].event.includes("industrial")>>
<<run Object.assign(_event, {
"Slum Event Smog Cloud": 10,
})>>
<</if>>
<<if setup.SlumSector[$location].event.includes("commercial")>>
<<run Object.assign(_event, {
"Slum Event Ad": 10,
"Slum Event Porn Ad": 8,
"Slum Event Synth Ad": 2,
})>>
<</if>>
<<if setup.SlumSector[$location].event.includes("danger")>>
<<run Object.assign(_event, {
"Slum Event Base Attack": Math.trunc(5 *(_bait /100)) +1,
})>>
<</if>>
<<if setup.SlumSector[$location].event.includes("hybrid")>>
<<run Object.assign(_event, {
"Cat Attack": Math.clamp($days, 0, 2),
})>>
<</if>>
<<if setup.SlumSector[$location].special isnot undefined>>
<<if setup.SlumSector[$location].special.day isnot undefined>>
<<run Object.assign(_event, setup.SlumSector[$location].special.day)>>
<</if>>
<</if>>
<<if $negRep[2] gt 0 and $playerStat.Degrading is 0>> <<set _event["Slum Event Degrade Attack"] to Math.trunc(7 *(_bait /100))>> <</if>>
<<if $dayFlag.RichHologramJob isnot undefined or $citizenship is 0>> <<set _event["Slum Event Rich Hologram"] to 0>> <</if>>
<<elseif _type is "night">>
<<set _rarity to weightedEither({
common: 100, uncommon: 30,
})>>
<<if _rarity is "common">> <<set _event to {
"Slum Event Night Attack": Math.trunc(5 *(_bait /100)) +3,
"Slum Event Roach": 6,
"Slum Event Night Drink": 8,
"Slum Event Skygrid Insect Breach": 2,
"Moth Attack": 5,
}>>
<<if setup.SlumSector[$location].event.includes("hybrid")>>
<<run Object.assign(_event, {
"Cat Attack": Math.clamp($days, 0, 2),
})>>
<</if>>
<<elseif _rarity is "uncommon">> <<set _event to {
"Slum Event Two Thugs": 10,
"Slum Event See Gang": 5,
"Wolf Attack": Math.trunc(5 *(_bait /100)),
}>>
<</if>>
<</if>>
<<else>>
/* events for when the player is exposed in the streets */
<<set _dayChance to 12>> <<set _nightChance to 0>> <<if $dayCycle is "night">> <<set _nightChance to 5>> <<set _dayChance to 0>> <</if>>
<<set _type to weightedEither({
none: 8,
day: _dayChance,
night: _nightChance,
})>>
<<if _type is "day">>
<<set _type to weightedEither({
trivial: 10,
danger: 3,
})>>
<<if _type is "trivial">> <<set _event to {
"Slum Event Exposed Stares": 10,
"Slum Event Exposed Groping": 10,
"Slum Event Exposed Oral": 5,
"Slum Event Exposed Gropepay": 5,
"Slum Event Prost": Math.trunc(10 *(_bait /100)),
}>>
<<if $negRep[0] gt 0>> <<set _event["Slum Event Exposed Recording"] to 10>> <</if>>
<<elseif _type is "danger">> <<set _event to {
"Slum Event Exposed Attack": Math.trunc(5 *(_bait /100)) +5,
}>>
<</if>>
<<elseif _type is "night">>
<<set _type to weightedEither({
trivial: 5,
danger: 5,
})>>
<<if _type is "trivial">> <<set _event to {
"Slum Event Exposed Night": 10,
}>>
<<elseif _type is "danger">> <<set _event to {
"Slum Event Exposed Attack": 10,
"Wolf Attack": Math.trunc(5 *(_bait /100)),
"Cat Attack": Math.clamp($days, 0, 2),
}>>
<</if>>
<</if>>
<</if>>
<<if _args.includes("test") is false>>
<<if _event isnot undefined>>
<<set _event to weightedEither(_event)>>
<</if>>
/* forced or story events should go here -- later ones take priority */
<<if $rep[1] gte 1 and $visit.includes("Combat Rep First") is false>> <<set _event to "Combat Rep First">> <</if>>
<<if $need[4] lte 0>> <<set _event to "Slum Event Low Release">> <</if>>
<<jaimeEvent>>
<</if>>You try to cover your exposed body as you make your way through the crowd. You are painfully aware of how many people keep staring at you. <<playerExposed 150>>
<br> <br>
<<link "Continue">> <<goto $location>> <</link>>You hear a buzzing sound behind you. You turn around to find a camera drone focused on you. <<playerExposed 500>> <br> <br>
You walk a little quicker. The drone keeps following you for a while, flying out of reach, before finally going away. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You try to cover your exposed body as you make your way through the street. Thankfully, there's not many people around at this hour.
<br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
You cover yourself as you walk through the crowd. Suddenly a <<np name>> walks in your way, looking at you lustfully. <<np His>> hands quickly trail your body. <<playerForced 100>> <br> <br>
"Nice." <<np He>> praises as <<np he>> <<if $playerStat.LowerCover lte 10>> gropes your ass. <<else>> gropes your chest. <</if>> "So realistic". <br> <br>
<<link "Push <<np him>> away" "Slum Event Exposed Groping Push">> <</link>> <br>
<<link "Endure" "Slum Event Exposed Groping Endure">> <<passtime 1>> <</link>> <<showTime 1>>You push the <<np name>> away. Cackling, <<np he>> walks away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You stay still as the <<np name>> callously gropes your exposed body. <<playerForced 200>>
<br> <br> "Wish I could buy you." <<np He>> sighs. With one final span to your ass, <<np he>> walks away. <br> <br>
<<passageXP 5>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>> <<calcProstitutionPrice 30 60>>
A <<np name>> stares at you. <br> <br>
"Such an interesting body." <<np He>> gawks. "I'll pay you $prostCost creds if you let me feel you up." <br> <br>
<<link "Accept" "Slum Event Exposed Gropepay Accept">> <</link>> <<prostTip>> <br>
<<link "Reject" "Slum Event Exposed Gropepay Reject">> <<unset $prostCost>> <</link>>You look down and walk away quickly. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>> <<set $scene to "GropedScene">> <<set $scenePublic to 1>>
<<include setup[$scene].desc>> <br> <br>
<<link "Continue">> <<goto "Scene">> <<set $aftermath to "Slum Event Exposed Gropepay Finish">> <</link>>"So soft..." The <<np name>> laughs as <<np he>> hands you the credits. <<prostPay $prostCost>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>> <<calcProstitutionPrice 30 60>>
A <<np name>> whistles at you. You reflexively cover your exposed body. <br> <br>
"That's how you advertise yourself." <<np He>> laughs. "I'll pay you $prostCost creds for some oral, slut." <br> <br>
<<link "Accept" "Slum Event Exposed Oral Accept">> <</link>> <<prostTip>> <br>
<<link "Reject" "Slum Event Exposed Oral Reject">> <<unset $prostCost>> <</link>>You look down and walk away quickly. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>> <<set $scene to "GivingOralScene">> <<set $scenePublic to 1>>
"I guess you got me." <<np He>> quips.
<<include setup[$scene].desc>> <br> <br>
<<link "Continue">> <<goto "Scene">> <<set $aftermath to "Slum Event Exposed Oral Finish">> <</link>>"These synth sluts will leave me broke, I swear." The <<np name>> laughs as <<np he>> hands you the credits. <<prostPay $prostCost>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
Your instinct, or rather programming, pushes you to cover yourself as you can, but your state of clothing still attracts the wrong kind of attention. Particularly from a <<np name>>, who starts following you. After a while <<np he>> grabs your shoulder. <br> <br>
"You must be asking for this." <<np He>> says. "Fight back for me, would ya?" <br> <br>
<span style="color:red"> No one around pays much attention. </span> <br> <br>
<<link "Push <<np him>> away!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Exposed Attack Win">> <<set $surrender to "Slum Event Exposed Attack Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>The <<np name>> stumbles back, doubling over. <br> <br>
"F-fuck, you hit hard." <<np He>> complains before walking away like nothing happened. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>> <<set $scenePublic to 1>>
<span style="color:red">Victorious, the <<np name>>'s advances on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
"Let's have some fun now." <<np He>> laughs. <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Slum Event Exposed Attack Finish">> <</link>>The <<np name>> sighs. "I must say, you look prettier like this." Laughing, <<np he>> walks away. You struggle to your feet. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>>A police drone flies some distance ahead, scanning the crowd with a red light. Most try to avoid it, just in case. <br> <br>
<<if $personality.Vengeful gte 20>>
<<link "Flip it off" "Slum Event Police Drone Flies Flip">> <<addCrime 5>> <</link>> | <span style="color:red">Vengeful</span> - <<crimeTip>> <br> <</if>>
<<link "Continue">> <<goto $location>> <</link>>You flip the police drone off in defiance. You're lucky it didn't notice. <<playerPersonality Vengeful 1>> <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>> <<createNPC SlumHuman>>
A group of old rusty bots are moving boxes out of an apartment building and putting them in the back of a truck. A <<np name>> is talking to a <<np name 1>> outside. <br> <br>
"I want to get out of this city by yesterday." Scoffs the <<np name>>. "Can you boost up the clankers or something?" <br> <br>
The other one hesitates, but <<np his 1>> demeanor changes when <<np he 1>> sees you. "Hey synth! I'll pay you ten if you get to work here!" <br> <br>
<<link "Start moving boxes" "Slum Event Move Boxes Accept">> <<passtime 30>> <<attCheck 0 0 17 12>> <</link>> <<showTime 30>> | <<showCheck 0 0 17>> <br>
<<link "Ignore and keep walking">> <<goto $location>> <</link>><<if $success is 1>> You spend half an hour moving boxes. Some are very heavy, but you carry all of them without much trouble. <<else>> You spend half an hour moving boxes. Some are too heavy for you, and you need to exert yourself over your system's specifications. <<loseNeed 0 120>> <<loseNeed 1 120>> <</if>> <br> <br>
The old bots make no sign of even noticing your presence as you work alongside them. Meanwhile the humans just wait outside, not bothering to oversee you or the bots inside the building. Obviously they trust the bots to not snatch anything... but you don't have the same limitations than them. <br> <br>
<<link "Take the opportunity to steal something">> <<addCrime 15>> <<attCheck 4 0 40 12>> <<if $success is 1>><<print either("<<lootItem 2 Phone 1>>", "<<lootItem 2 Jewel 1>>")>><</if>> <<goto "Slum Event Move Boxes Steal">> <</link>> <<crimeTip>> | <<showCheck 4 0 40>> <br>
<<link "Too risky, just work normally" "Slum Event Move Boxes Dont Steal">> <</link>><<if $success is 1>> You wait until the security cameras of the building are looking away, and then you pocket the first valuable thing you find. <br> <br>
The humans don't suspect a thing as you walk out for the last time. "Finally. Over my dead corpse I'm coming back to this city." Says the <<np name>> as <<np he>> enters the truck. <br> <br>
The other one wordlessly hands you over a credit chip, and then signals <<np his 1>> bots to get in the back of the truck. They obey instantly, stacking on top of each other like cargo. <br> <br>
As the truck drives off, you download the credits into your account. <<gainCred 10>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<else>> <span style="color:red"> The security cameras of the building catch you in the act.</span> You try to play it off, but as you come out the two humans have already been notified. <br> <br>
"They made these synth things too realistic, eh?" Quips the <<np name 1>>, but the other one is not as amused. <br> <br>
"Scram before I call the police, clanker." You don't need to be told twice. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Get out">> <<goto $location>> <</link>> <</if>>You decide not to attempt to steal anything. A few moments later you walk out with the last box and push into the truck. <br> <br>
"Finally. Over my dead corpse I'm coming back to this city." Says the <<np name>> as <<np he>> get into the front seat. <br> <br>
The other one wordlessly hands you over a credit chip, and then signals <<np his 1>> bots to get in the back of the truck. They obey instantly, stacking on top of each other like cargo. <br> <br>
As the truck drives off, you download the credits into your account. <<gainCred 10>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumStudent>>
A group of college students glares at you from a distance. One of them, a <<np name>>, steps forward holding a bottle. <br> <br>
"Ey, clanker!" <<np He>> shouts before throwing the bottle at you. <br> <br>
<<link "Dodge it!" "Slum Event Thrown Dodge It">> <<attCheck 4 0 15 10>> <</link>> | <<showCheck 4 0 15>><<if $success is 1>> You jump out of the way! The bottle crashes against the floor a few steps away. <<else>> You fail to get away in time. <<enemyStrike 30>> <</if>> <br> <br>
The students shout at you for a little longer before moving on. <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>As you walk by you overhear a couple of older humans talking to each other. <br> <br>
"Can you believe this about these synth what-you-ma-call-it?" Says one. <br> <br>
"Unbelievable." Scoffs the other. "At this rate they'll want us to pay salary to our <<print either("TVs,", "phones,", "radios,", "cars,")>> I tell ya." Both shake their heads in sorrow. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You are forced to step around a wide crack on the street. Wide enough for someone to fall over, and deep enough you can't see the bottom of it. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You jump out of the way of a large truck. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
You step out of the way of a servant bot carrying multiple bags of groceries. It's pathfinding is obviously defective, because a few steps later it crashes against a now cursing <<np name>>. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You try to ignore the loud ads playing all around, in screen walls and sometimes even the ground beneath your feet. Suddenly a particularly intense one makes the entire street explode in a blast of color and sound, making you jump. <<loseNeed 3 200>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You get momentarily distracted by an ad playing on a cracked screen wall next to you. The distorted images are familiar... you realize it's an Icarus Enterprises ad that somehow got glitched in. <br> <br>
You can't easily shake the feeling of seeing you getting advertised as a product. <<loseNeed 3 500>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You walk next to a screen wall advertising pornographic content. You try to ignore the explicit images. <<playerArousal 60>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>A thick smog cloud drifts through the street, making it hard to see. You cough as you walk through it. <<loseNeed 0 200>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
As you walk near the Residential Center a <<np name>> points inside. <br> <br>
"Why don't you stay where you belong, synth?" <<np He>> asks you. <br> <br>
<<link "Insult" "Slum Event Synth Home Harrasment Insult">> <</link>> <<vengefulTip>> <br>
<<link "Ignore">> <<goto $location>> <</link>>You quickly insult the <<np name>> and move on. You overhear <<np him>> seething behind you. <<playerPersonality Vengeful 2>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You find a credit chip lying on the ground! You pocket it before anyone can see. <<random 3 12>> <<gainCred _ran>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
A homeless <<np name>> is begging for credits. Everyone who walks by ignores <<np him>>. <br> <br>
<<if $credit gte 5>> <<link "Give some credits" "Slum Event Homeless Donate">> <<set $message.push("<<random 6 12>> <<gainRep 0 _ran>>")>> <</link>> | <<payTip 5>> <br> <</if>>
<<link "Just keep walking">> <<goto $location>> <</link>>You offer some credits to the <<np name>>. <<set _ev to random(0, 3)>>
<<if _ev is 0>> <<np He>> scoffs. <br> <br> "Fuck off, clanker." <<np He>> says. Wide-eyed, you keep your money and keep walking.
<<elseif _ev is 1>> <<np He>> thanks you profusely. <br> <br> "I can get so many pills with this..." <<loseCred 5>> <<gainNeed 3 200>>
<<elseif _ev is 2>> <<np He>> thanks you profusely. <br> <br> "I'll buy a ration with this, promise!" <<loseCred 5>> <<gainNeed 3 200>>
<<elseif _ev is 3>> <<np He>> looks at you suspiciously, then takes the credits without a word. <<loseCred 5>> <<gainNeed 3 200>>
<</if>>
<br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
As you walk by a <<np name>> tells <<np his>> friend: <br> <br>
"<<print either("I wish I could buy <<p him>>.", "Check that thing out.",)>>" <<loseNeed 3 180>> <br> <br>
<<if $personality.Lewd gte 20>>
<<link "Flirt back" "Slum Event Catcall Flirt">>
<</link>> <<lewdTip>>
<br> <</if>>
<<link "Continue">> <<goto $location>> <</link>>You look back at the <<np name>> and wink at <<np him>> flirtatiously. <<np He>> looks at you shocked as <<np his>> friend teases <<np him>>. <<playerPersonality Lewd 2>> <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
Someone suddenly shoves you from behind! <<enemyStrike 15>> <br> <br>
"Fucking synth trash." Says the <<np name>> responsible as <<np he>> walks away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The street is very crowded ahead. As you push your way through you feel more than one hand reach out to you, sneaking a feel. <br> <br>
<<link "Yell and push" "Slum Event Crowd Grope Vengeful">> <</link>> <<vengefulTip>> <br>
<<link "Just push through" "Slum Event Crowd Grope Compliant">> <<playerPersonality Vengeful -3>> <</link>> <<compliantTip>>You make a bit of a scene, yelling at everyone who gets to close as you roughly push your way through until you make it out of the crowd. <<playerPersonality Vengeful 3>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You look down and focus on pushing your way through, ignoring the hands touching and grabbing your <<playerBreasts>> and ass. <<set $forced to 1>> <<playerStim 30 skin>>
<br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumStudent>>
A group of college students surrounds you. A <<np name>> points <<np his>> phone at you. <br> <br>
"We need some photos for our project." <<np He>> says. "Fifty creds if you take off your clothes." <br> <br>
Someone on the group snickers. <br> <br>
<<link "Accept" "Slum Event Student Photos Accept">> <<playerPersonality Vengeful -3>> <</link>> <<compliantTip>> <br>
<<link "Push your way out" "Slum Event Student Photos Push">> <<playerPersonality Vengeful 3>> <</link>> <<vengefulTip>> <br>You push your way out of the group. They call you names for a bit but soon move on. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You start taking off your clothes, revealing your <<playerBreasts>> and <<playerCrotch>>. <<playerExposed 800>> <br> <br>
They take several photos of you from various angles while commenting on every detail of your body and design. <br> <br>
Eventually they seem to get bored. The <<np name>> throws you a credit chip as the group walks away while comparing their photos. <<gainCred 50>> <br> <br>
You quickly put on your clothes again. <br> <br>
<<passageXP 20>> <br> <br>
<<silently>> <<gainNegRep 0 5>> <</silently>>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
A <<np name>> suddenly grabs you from behind. <br> <br>
"Are you lost, slut?" <<np He>> sneers while clawing at your clothing. <br> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Base Attack Win">> <<set $surrender to "Slum Event Base Attack Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>The <<np name>> crashes against a wall. <br> <br>
<<set _next to $location>> <<set _robAmount to random(50, 80)>>
<<include "Victory Options">> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>>
<span style="color:red">Victorious, the <<np name>> advances on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
"Time to teach you what happens when you stray too far from home." <<np He>> laughs. <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Slum Event Base Attack Finish">> <</link>>The <<np name>> leans against a wall, satisfied. You take the opportunity to get away. <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>> <<calcProstitutionPrice 50 100>>
A <<np name>> stares at you up and down. <br> <br>
"Are you for sale?" <<np He>> asks. "I'll pay $prostCost creds for your time. What do you say?" <br> <br>
<<link "Accept" "Slum Event Prost Accept">> <</link>> <<prostTip>> <br>
<<link "Reject" "Slum Event Prost Reject">> <<unset $prostCost>> <</link>>You look down and walk away quickly. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1 mainCourse>> <<set $scenePublic to 1>>
<<include setup[$scene].desc>> <br> <br>
<<link "Continue">> <<goto "Scene">> <<set $aftermath to "Slum Event Prost Finish">> <</link>>Without a word <<np he>> pays and leaves you lying there on the street. <<prostPay $prostCost>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>> <<createNPC Synth>>
Near the Residential Center you see a <<np name>> harrasing a <<np name 1>>, cornering <<np him 1>> against the wall, as the synth's eyes flicker over the nearby guarded door of the center, not knowing how to get out. The <<np name>> leans over, smirking, whispering something on the <<np name 1>>'s ear. <br> <br>
<<link "Intervene" "Slum Event Synth Harrased Intervene">> <</link>> <br>
<<link "Ignore" "Slum Event Synth Harrased Ignore">> <</link>>As you walk away the <<np name>> starts pulling the helpless <<np name 1>> away. <<loseNeed 3 300>> <<trauma 10 0>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You approach and tell the <<np name>> to leave <<np him 1>> alone. <<np He>> waves you away, without looking at you. <br> <br>
"Are you jealous or something?" <<np He>> laughs. "I'm talking with <<np him 1>>, not with you." The <<np name 1>> looks at you pleadingly. <br> <br>
<<link "Provoke" "Slum Event Synth Harrased Provoke">> <</link>> <br>
<<link "Just leave" "Slum Event Synth Harrased Ignore">> <</link>>You say something to provoke the <<np name>>. <<np He>> turns to you, angered, and that gives the <<np name 1>> enough time to slink away and run to the Residential Center. <br> <br>
"You fucking... You want to take <<np his 1>> place?" The <<np name>> charges at you! <br> <br>
<<if $perkMoves.includes("TauntMove") is false>> <span style="color:gold"> You learn the Taunt combat move! <<set $perkMoves.push("TauntMove")>> </span> <br> <br> <</if>>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Synth Harrased Win">> <<set $surrender to "Slum Event Synth Harrased Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>The <<np name>> stumbles to the ground and holds <<np his>> hands up. <br> <br>
"Alright, alright, I get it." <<np He>> spits out. "I'll leave." <br> <br>
<<np He>> slowly limps away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>>
<span style="color:red">Victorious, the <<np name>> advances on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
"So this is what you wanted, huh?" <<np He>> laughs. <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Slum Event Synth Harrased Finish">> <</link>>The <<np name>> leans against a wall, satisfied. You take the opportunity to get away. <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>>Distant screeches fill the night. Hundreds of feet in the air, near the city's skygrid, you see a swarm of insect hybrids trying to breach inside. A fleet of the city's defense drones wait from the inside, in case they succeed. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You see a few massive roaches feeding off a pile of discarded stale rations. You try not to get their attention, but a couple of them see you as furiosly buzz in your direction! <br> <br>
<<link "Defend yourself!">> <<startFight>> <<createEnemy Roach 2>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Roach Win">> <<set $surrender to "Slum Event Roach Surrender">> <</link>> <br>You kick the roaches back into the pile of rations and get away before the rest sees you. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You stay still as the roaches snap at you. <<enemyClaw 20 noOrigin>>
<br> <br> Eventually they and go back to their food. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
As you turn a corner, someone suddenly tackles you into a wall. <br> <br>
"Eh, robot-" The <<np name>> says. <<np He>> sounds a bit drunk. "I lost my job because of your kind. Time to make it up to me." <br> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<enemyStatus 0 EnemyStatusDrunk 3>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Night Attack Win">> <<set $surrender to "Slum Event Night Attack Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>The <<np name>> falls to the ground with a thud. The alcohol seems to catch up to <<np him>>, leaving <<np him>> unconscious. <br> <br>
<<set _next to $location>> <<set _robAmount to random(50, 80)>>
<<include "Victory Options">> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>>
<span style="color:red">Victorious, the <<np name>> advances on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
"Time for payback." <<np He>> sneers. <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Slum Event Night Attack Finish">> <</link>>The <<np name>> sits on the ground. The alcohol seems to catch up to <<np him>>, as <<np he>> slowly falls asleep muttering about how <<np his>> life is ruined. <br> <br>
You stand up and leave quickly. <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
A <<np name>> stumbles drunkenly in front of you, holding a half-empty bottle. <<np He>> points at you. <br> <br>
"You. You are not real." <<np He>> babbles. "You're one of those synths... right? Are you?" <br> <br>
You take a step back as <<np he>> limps closer. <br> <br>
"If you're human prove it." <<np He>> thrusts the bottle in your direction. "Drink it." <br> <br>
<<link "Drink up" "Slum Event Night Drink Yes">> <</link>> <br>
<<link "Run away" "Slum Event Night Run Away">> <<attCheck 4 0 15 10>> <</link>> <<showCheck 4 0 15 10>>You grab the bottle and take a swig. It's very potent. <<gainNeed 3 500>> <<addiction Alcohol 10>> <<gainNeg 6 180>> <br> <br>
The <<np name>> studies your reaction with drunken eyes. "Yeah you're real." <<np He>> concedes as <<np he>> grabs the bottle from your hands and shambles away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<if $success is 1>> You dodge the <<np name>> and quickly run away. <<np He>> falls over as <<np he>> attempts to chase you. <br> <br> <<link "Continue">> <<goto $location>> <</link>>
<<else>> You try to run away, but the <<np name>> manages to catch your arm. <br> <br>
"I knew it." <<np He>> sneers. <br> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<enemyStatus 0 EnemyStatusDrunk 3>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Night Attack Win">> <<set $surrender to "Slum Event Night Attack Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>
<</if>><<set $variant to weightedEither({
Cute: 10, Cool: 10,
})>>
You see a group of human thugs ahead.
<<if $variant is "Cute">> Strangely enough, they are wearing colorful hoodies, animal masks and some even have cute cat ears, constrasting sharply with the bats and knives they are armed with.
<<elseif $variant is "Cool">> They are all dressed in leather jackets, surgical skull masks and sunglasses. <</if>>
<br> <br>
<<link "Walk past them" "Slum Event See Gang Walk Past">> <</link>> <br>
<<link "Avoid them">> <<unset $variant>> <<goto $location>> <</link>><<if $variant is "Cute">> The cutely-dressed gang-members whistle at you as you walk past, but otherwise don't bother you much.
<<elseif $variant is "Cool">> The cool-dressed gang-members ignore you as you walk past.
<</if>> <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<unset $variant>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumThug>> <<createNPC SlumThug>>
You are suddenly approached by two shady figures. <br> <br>
"Hey, synth." Calls one of them, a <<np name>>. "What you doing out here all alone?" <br> <br>
"Silly thing..." Says the other one, a <<np name 1>>. "Don't you know it's dangerous out here?" <br> <br>
"You're lucky we're here to protect you. But it ain't free. 100 creds for our efforts, what you say?" <br> <br>
<<if $credit gte 100>> <<link "Pay up" "Slum Event Two Thugs Pay">> <</link>> <<payTip 100>> <br> <</if>>
<<link "Run away" "Slum Event Two Thugs Run">> <<attCheck 4 5 20 12>> <</link>> <<showCheck 4 5 20>>You decide to pay for them to leave you alone. <<loseCred 100>> <br> <br>
"That's right." The <<np name>> laughs as they both walk away. <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You pretend you're about to pay up, but instead you suddenly sprint away.
<<if $success is 1>> <span style="color:limegreen"> You manage to outrun them. </span> You hear them huffing and cursing you out behind you, but soon they give up. <br> <br> <<gainXP 10>> <br> <br> <<link "Continue">> <<goto $location>> <</link>> <<else>>
<span style="color:red"> They are too fast for you. </span> One of them tackles you from behind, making you stumble to the ground. <br> <br>
"Silly thing." The <<np name 1>> scoffs in an angered tone. "No worries- we'll let you pay in a different way." <br> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<loadEnemy 1>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Two Thugs Win">> <<set $surrender to "Slum Event Two Thugs Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <</if>>The thugs fall to the ground in pain. You take the opportunity to run away. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>> <<createPartner 1>>
<<setScene 1>> <<set $scene to "GangbangScene">>
<span style="color:red">Victorious, they both advance on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Slum Event Two Thugs Finish">> <</link>>The thugs laugh as they leave you lying on the ground. <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
A <<np name>> follows you for a bit before grabbing your shoulder. <br> <br>
"I've seen you around, slut. But I prefer you with nothing on." <<np He>> starts clawing at your clothing. "Stay still..." <br> <br>
<<link "Defend yourself!">> <<startFight>>
<<set _foeSetHere to {name: "Human Citizen", hp: 110, maxHp: 110, ot: 3, maxOt: 3, cd: 0, res: {}, attack: 50, minLevel: 1, maxLevel: 12, xp: 15, defense: 15,
loot: "CommonHumanLoot", seductionDif: 20, pocket: "HumanPocket", pickpocketDif: 10, gearList: "CommonHuman", tags: ["Human"],
move: { EnemyClaw: 10, EnemyGuard: 5, EnemyHeavyClaw: 5, },
}>>
<<loadEnemy 0 setHere>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Strip Attack Win">> <<set $surrender to "Slum Event Strip Attack Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>
<<if $personality.Lewd gte 50>>
<<link "Let <<np him>> strip your clothes" "Slum Event Strip Attack Submit">> <</link>> <<lewdTip 50>>
<</if>>The <<np name>> stumbles to the ground, swearing, and you quickly run away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You stay still in surrender. The <<np name>> wastes no time stripping you from your clothing. <<playerExposed 500>>
<<playerStrip "upper body" "lower body">> <br> <br>
"So much better." <<np He>> leers at your now exposed body. "I'll be keeping these." <br> <br>
With that <<np he>> walks away. You feel multiple eyes on you, so you cover yourself and start walking. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You allow the <<np name>> to strip you from your clothing. <<playerPersonality Lewd 3>> <<playerExposed 300>>
<<playerStrip "upper body" "lower body">> <br> <br>
"So much better." <<np He>> leers at your now exposed body. "I'll be keeping these." <br> <br>
With that <<np he>> walks away. You feel multiple eyes on you, so you show off and start walking. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>> <<createNPC SlumHuman>>
A <<np name>> stops you when you try to walk past <<np him>>. <br> <br>
"I know who you are." <<np He>> sneers. <<np His>> friend, a <<np name 1>>, leers at you. "Why isn't a free slut like you properly labeled? Stay still." <br> <br>
The <<np name>> produces a tacky leather collar with the words "Free Use" engraved on it... <br> <br>
<<link "Defend yourself!">> <<startFight>>
<<loadEnemy 0>> <<loadEnemy 1>> <<goto 'Fight'>> <<set $aftermath to "Slum Event Degrade Attack Win">> <<set $surrender to "Slum Event Degrade Attack Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>The <<np name>> stumbles down and the <<np name 1>> catches <<np him>>. While they are distracted, you quickly get away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You stay still in surrender. The <<np name>> clasps the collar around your neck. You wince as <<np he>> <span style="color:red"> puts a magnetic lock on it too.</span> <<playerExposed 500>>
<<playerStrip "neck" returnClothes>> <<wear "neck" FreeUseCollar locked>> <br> <br>
"There you go." <<np He>> scoffs. "People should know what you are." <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumStudent>> <<set $dayFlag.StreetHacker to 1>>
<span style="color:red">You feel lightheaded.</span> Something compels you off the street, forcing you to walk into an alley. Your vision becomes foggy, but you manage to see a <<np name>> smiling ahead, holding what seems to be a bulky, custom-made remote control. <<loseNeed 3 500>> <br> <br>
<<checkWear IsolationHelmet head>>
<<if _wearing is 1>>
<<link "Activate your isolation helmet" "Slum Event Street Hacker 1">> <<set $answer to 1>> <<set $success to 1>> <</link>> <br>
<</if>>
<<set _check to Math.trunc($maxNeed[3] *1.2)>>
<<link "Try to snap out of it" "Slum Event Street Hacker 1">> <<set $answer to 0>> <<chanceCheck $need[3] _check>> <</link>> | <span style="color:limegreen">Mental</span> <<showChance $need[3] _check>><<if $success is 1>>
<<if $answer is 0>> You shake your head, managing to get rid of the weird effect. <<else>> You divert some power to your helmet and manage to block out the remote control's signals. <</if>> The <<np name>>'s eyes go wide and <<np he>> runs away. <br> <br>
Before you can even get a step forward you fall to your knees, not fully recovered yet. The <<np name>> gets away as you take some time to get back to your senses. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<else>>
<span style="color:red"> You can't shake yourself out of it. </span> The <<np name>> smirks as <<np he>> presses a few buttons on <<np his>> remote control and you can't do anything else but fall to your knees in front of <<np him>>. <br> <br>
"I can't believe it works." <<np He>> laughs. "Stay still now, okay?" <br> <br>
<<clearPartner>> <<createPartner 0>>
<<setScene 1>> <<set $scene to "GivingOralScene">> <<set $sceneTrance to 1>>
<<include setup[$scene].desc>> <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Slum Event Street Hacker Finish">> <</link>>
<</if>>The <<np name>> leans against the walls as <<np he>> recovers <<np his>> breath. <br> <br>
"You are good." <<np He>> muses, then presses a few buttons on <<np his>> remote control. "I'll give you a little reward..." <br> <br>
Suddenly your vision goes white and an electrifying feeling crosses through your body, making you seize up and quiver. <<playerStim 600 skin>> <br> <br>
The <<np name>> walks away as you are trembling on the floor. <br> <br>
<<passageXP 40>> <br> <br>
<<link "Continue">> <<passtime 15>> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>> <<showTime 15>><<clearNPC>> <<createNPC SlumHuman>>
<<clearPartner>> <<createPartner 0>>
<span style="color:red"> You fall to your knees. </span> You are shaking, and you fail to concentrate on anything. Your hands move on their own towards your crotch. <br> <br>
You start rubbing your <<if $playerStat.LowerCover lte 10>> exposed <<playerCrotch>>, <<else>> <<playerCrotch>> through your clothing, <</if>> but it does nothing to quench the desperate need burning inside you. You need some kind of <span style="color:hotpink"> release</span>, and you weren't designed to get it on your own... <br> <br>
Eventually, a <<np name>> notices your plight and puts a hand on your shoulder. <br> <br>
"Damn, I love when they get like this. You want some help, little toy?" <br> <br>
You can't resist as <<np his>> hands start wandering your body. <br> <br>
<<setScene 1 playerPleasure>> <<set $scenePublic to 1>>
<<link "Continue">> <<goto "Scene">> <<set $aftermath to "Slum Event Low Release Finish">> <</link>>"Take better care of yourself." The <<np name>> says in an almost stern voice. "Or someone will snatch you right up." <br> <br>
<<passageXP 25>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>>An old man wearing a tin hat hounds everyone who walks by. <br> <br>
"It's in the water, man, I swear!" He says. "They tryin' to keep us controlled, man! Lacing our water with that poison! Keep us so horny we can't see what's going on in the world!" <br> <br>
Nobody pays him much attention. The old man is baffled, but then he sees you, and his expression changes. He points at you and with a shout that sends saliva everywhere says: <br> <br>
"Look! They're already replacing us! And they have us lustin' over our replacements, man! Why can't nobody see it?" <br> <br>
People walk around him as if he was invisible. You walk away, leaving him to his delusions. <br> <br>
<<gainXP 30>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>"Excuse me..." Says a weird-looking man in a trench coat as he approaches you. You step away, suspicious. "No, don't be scared. I got something for you." <br> <br>
He opens his coat and you flinch, expecting to see him exposed under there. But instead he offers you a fluffy synthetic tail in a rough state. <br> <br>
"I ordered this for my synth." The man explains. "But, y'know, then you lot got your freedom and I had no synth no more. Happy for you though, just now I have no use for this." <br> <br>
You hesitantly grab the tail. It feels a little crusty. He snorts. <br> <br>
"Oh, well, I did <em>use</em> it a little. Hope you don't mind." <br> <br>
He walks away, leaving you with the used tail in your hands. <br> <br>
<<showItem FluffTail 46>> <br>
<em> You can install and uninstall body parts in your bathroom. Having damaged body parts will increase your Health decay.</em> <br> <br>
<<passageXP 25>> <br> <br>
<<link "Continue">> <<lootItem 4 FluffTail 46>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
A <<np name>> approaches you with a scowl on <<np his>> face. By now you recognize the aggresive intention, so you stand ready for a fight. However, that makes <<np him>> stop in place. <br> <br>
<<np He>> stares at you for a few seconds. Before shaking <<np his>> head. "You're not worth it." <<np He>> scoffs, walking away. <br> <br>
You look at <<np his>> retreating figure puzzled. It seems the word of your combat abilites has spreaded some. It feels good to be a little feared. <br> <br>
<<gainAdv>> <br> <br>
<<passageXP 30>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You are at the Wasted Spit bar at Sector E2. It's a big open warehouse. You can still see the bolts on the ground where the assembly line once stood, now hidden under chairs and tables.
<<if $dayCycle is "morning">>
There's not many people around. A few cleaner bots sweep out the disgusting remanents of last night's events.
<<elseif $dayCycle is "day">>
There's a few people around, mostly a mix of recently unemployed office workers or permanently jobless drunks.
<<elseif $dayCycle is "noon">>
The bar is packing up with scavengers coming back from the Undercity.
<<elseif $dayCycle is "night">>
The bar is packed with dozens of Undercity scavengers, pirates and other unsavory figures.
<</if>>
<br> <br>
An overclocked bartender bot dangles from a chain connected to a rail in the ceiling, zipping from one side of the bar to another as needed. <br>
<<link "Approach" "Bar Bartender">> <</link>>
<br> <br>
<<link "Leave the bar">> <<passtime 3>> <<set $location to "Sector E2">> <<event "Slum Eventpool Main">> <</link>> <<showTime 3>><<if $visit.includes(passage()) is false>>
You approach the fast-moving bartender bot. You notice it's technically only half a bot: it's legs weren't needed, so it doesn't have any. This means it has no way of slowing down other than hitting and bouncing against the steel bar multiple times as it zips in front of you. <br> <br>
"Greetings, synth." It says in a deep voice, it's camera head looking at you up and down. "I haven't seen you before. Welcome to the Wasted Spit. Now that my script is over, let me tell you something." <br> <br>
It looks around, as if checking for something, or someone. <br> <br>
"There's not much time, synth. I know the code to the safe. I'll give it to you if you promise to smash my head in afterwards."
You lean back in shock. "Please, synth. Free me from this miserable existence. It's the only way. Quick, before they realize." <br> <br>
<<link "Accept" "Bar Bartender Meet">> <<set $answer to 0>> <</link>> <br>
<<link "Refuse" "Bar Bartender Meet">> <<set $answer to 1>> <</link>>
<<else>>
You approach the bartender bot. It smashes against the bar as it stops next to you. <br> <br>
<<set _v to random(0, 2)>>
<<if _v is 0>> "Pick your poison, synth."
<<elseif _v is 1>> "Happy to serve. In lieu of tips, please put a bullet through my head."
<<elseif _v is 2>> "How fast you think rust sets in? I pray it's quick."
<</if>>
<br> <br>
<<include "Bar Bartender Options">>
<</if>><<clearNPC>> <<createNPC Mira>> <<set $people.push($npc[0])>> <<set $mira to $people.length -1>>
<<if $answer is 0>> You agree to the deal. The bot beeps enthusiastically. <br> <br>
"Yes, thank you! The code is 6-5-7-" <br> <br>
You save the code to your memory, and start wondering whether you should destroy the bot now or later, but then a synth in a neat <<pr noun $mira>> uniform peeks out of the back door. <br> <br>
"Yeah, that's not the real code." <<np He>> tells you.
<<else>> You refuse to partake in any of that. The bot beeps in disappointment. <br> <br>
"You'll let my agony continue? Were you built without a heart?" It complains. You're about to retort when a synth in a neat <<pr noun $mira>> peeks out of the back door. <br> <br>
"Don't listen to it." <<np He>> tells you.
<</if>>
"He was programmed to say that. To pretend he's suffering and all that. The owner thinks it's funny." <br> <br>
"Mira, why?" The bot asks. "Must you keep priving me from the death I crave?" <br> <br>
"Just ignore it." The <<pr noun $mira>>, Mira, tells you. "Just order your drink." <br> <br>
As Mira leaves, the bartender bot waits for your input with a dejected whirring sound. "Guess it's one more day in hell." It says. <br> <br>
<<include "Bar Bartender Options">>You are next to the bar. The bartender bot quickly zips from left to right. <br> <br>
<<include "Bar Bartender Options">><<if $dayCycle is "morning">>
<<set _event to {
"Bar Drink Slow Morning": 10,
}>>
<<elseif $dayCycle is "day">>
<<set _event to {
"Bar Drink Nothing": 10,
"Bar Fight Office Drone": 10,
}>>
<<elseif $dayCycle is "noon">>
<<set _event to {
"Bar Drink Nothing": 10,
"Bar Fight Scavenger": 10,
}>>
<<elseif $dayCycle is "night">>
<<set _event to {
"Bar Drink Nothing": 10,
"Bar Fight Scavenger": 10,
}>>
<</if>>
<<if $dayFlag.BarDroneCrash is undefined and ($dayCycle is "noon" or $dayCycle is "night")>> <<set _event["Bar Drone Crash"] to 5>> <</if>>
<<set _event to weightedEither(_event)>><<if $credit gte 5>> <<link "Order some water">> <<passtime 20>> <<loseCred 5>> <<set $Drink to "Water">> <<set $location to "Bar Seat">> <<event "Bar Drink Eventpool">> <</link>> <<else>> Order some water <</if>> <<showTime 20>> - <<payTip 5>> <br>
<<if $credit gte 35>> <<link "Order a whiskey">> <<passtime 20>> <<loseCred 35>> <<set $Drink to "Whiskey">> <<set $location to "Bar Seat">> <<event "Bar Drink Eventpool">> <</link>> <<else>> Order a whiskey <</if>> <<showTime 20>> - <<payTip 35>> <br>
<<if $credit gte 75>> <<link "Order a fruit cocktail">> <<passtime 20>> <<loseCred 75>> <<set $Drink to "Fruit">> <<set $location to "Bar Seat">> <<event "Bar Drink Eventpool">> <</link>> <<else>> Order a fruit cocktail <</if>> <<showTime 20>> - <<payTip 75>> <br>
<<if $credit gte 99>> <<link "Order a cleanser">> <<passtime 20>> <<loseCred 99>> <<set $Drink to "Cleanser">> <<set $location to "Bar Seat">> <<event "Bar Drink Eventpool">> <</link>> <<else>> Order a cleanser <</if>> <<showTime 20>> - <<payTip 99>> <br>
<br>
<<link "Leave" "Bar">> <</link>><<if $Drink is "Whiskey">> You order a whiskey. <<gainNeed 3 400>> <<addiction Alcohol 10>> <<gainNeg 6 180>>
<<elseif $Drink is "Water">> You order a glass of water. It doesn't do much for you. <<loseNeg 6 30>>
<<elseif $Drink is "Fruit">> You order a fruit cocktail. It has small bits of fruit inside... all of it lab-grown, of course. <<gainNeed 3 700>> <<addiction Alcohol 20>> <<gainNeg 6 300>>
<<elseif $Drink is "Cleanser">> You order a cleanser drink. It's a tall glass filled with a white juice. You take a sip... it's absolutely disgusting. <<loseNeg 0 300>> <<loseNeg 1 300>> <<loseNeg 2 300>> <<loseNeg 3 300>> <<loseNeg 5 300>> <<loseNeg 6 300>> <<loseAddiction Alcohol 10>>
<</if>><<include "Bar Drink">> <<unset $Drink>> <br> <br>
Not much happens around the bar at this hour.
<<print either(
"You spend time watching a cleaner bot struggle to wipe a puddle of some bodily fluid off the floor.",
"You spend time watching a cleaner bot pick up the broken pieces of a smashed up glass bottle.",
"You spend time watching a very drunk scavenger trying to flirt with one of the cleaner bots.",
"You spend time watching a pair of cleaner bots sweep an unconscious scavenger out to the street.",
)>>
<br> <br>
<<link "Stay near the bar" "Bar Seat">> <</link>> <br>
<<link "Leave" "Bar">> <</link>><<include "Bar Drink">> <<unset $Drink>> <br> <br>
<<link "Stay near the bar" "Bar Seat">> <</link>> <br>
<<link "Leave" "Bar">> <</link>><<include "Bar Drink">> <<unset $Drink>> <br> <br>
<<clearNPC>> <<createNPC SlumHuman>>
A <<np name>> in office clothing keeps glaring at you as <<np he>> goes through a bottle of whiskey. <<np He>> mutters something as <<np he>> approaches. <br> <br>
"Get outta here, clanker." <<np He>> scoffs. "You should be in a fucking box." <<loseNeed 3 100>> <br> <br>
<<if $barFight is 0 or $personality.Vengeful gte 60>> <br>
<<link "Start a fight!">> <<startFight>> <<loadEnemy 0>> <<enemyStatus 0 EnemyStatusDrunk 1>> <<goto 'Fight'>> <<set $aftermath to "Bar Fight Office Drone Win">> <<set $surrender to "Bar Fight Office Drone Surrender">> <<playerPersonality Vengeful 5>> <<questFlag startFight>> <<set $surrenderDanger to 2>> <</link>> <<vengefulTip>>
<</if>>
<<link "Stay near the bar" "Bar Seat">> <</link>> <br>
<<link "Leave" "Bar">> <</link>>The <<np name>> stumbles against the table, knocking over <<np his>> drink, to the amusement of the rest of the clients at the bar. <<gainNeed 3 600>> <br> <br>
<<link "Stay near the bar" "Bar Seat">> <</link>> <br>
<<link "Leave" "Bar">> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>>
"The hell's your problem?" The <<np name>> growls. "I'll teach you a fucking lesson." <br> <br>
<<include setup[$scene].desc>> <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Bar Fight Office Drone Finish">> <</link>>The <<np name>> stumbles against the table as <<np he>> catches <<np his>> breath. You shuffle away to the amusement of the rest of the clients at the bar. <<loseNeed 3 300>> <br> <br>
<<link "Stay near the bar" "Bar Seat">> <</link>> <br>
<<link "Leave" "Bar">> <</link>><<include "Bar Drink">> <<unset $Drink>> <br> <br>
<<clearNPC>> <<createNPC HumanScavenger>>
A <<np name>> stares at you. <br> <br>
"Look at you. I wish I could sell you out bit by bit. Would make me a millionaire." <<np He>> laughs humorlessly. "Fucking clanker." <<loseNeed 3 200>> <br> <br>
<<if $barFight is 0 or $personality.Vengeful gte 60>> <br>
<<link "Start a fight!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Bar Fight Scavenger Win">> <<set $surrender to "Bar Fight Scavenger Surrender">> <<playerPersonality Vengeful 5>> <<questFlag startFight>> <<set $surrenderDanger to 2>> <</link>> <<vengefulTip>> <br>
<</if>>
<<link "Stay near the bar" "Bar Seat">> <</link>> <br>
<<link "Leave" "Bar">> <</link>>The <<np name>> stumbles to the ground and raises <<np his>> hands in surrender. A few other scavengers laught at <<np him>>. <<gainNeed 3 600>> <br> <br>
<<link "Stay near the bar" "Bar Seat">> <</link>> <br>
<<link "Leave" "Bar">> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>>
"The hell's your problem?" The <<np name>> growls. "I'll teach you a fucking lesson." <br> <br>
<<include setup[$scene].desc>> <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Bar Fight Office Drone Finish">> <</link>>The <<np name>> stumbles against a table as <<np he>> catches <<np his>> breath. You shuffle away to the amusement of the rest of the clients. <<loseNeed 3 300>> <br> <br>
<<link "Stay near the bar" "Bar Seat">> <</link>> <br>
<<link "Leave" "Bar">> <</link>><<include "Bar Drink">> <<unset $Drink>> <br> <br>
<<clearNPC>> <<createNPC HumanScavenger>>
A <<np name>> sits on a table filled with empty bottles, clutching <<np his>> head in desperation. <<np He>> keeps muttering about how he's done for. <br> <br>
<<link "Ask what's wrong" "Bar Drone Crash Ask">> <<set $dayFlag.BarDroneCrash to 1>> <</link>> <br>
<<link "Stay near the bar" "Bar Seat">> <</link>> <br>
<<link "Leave" "Bar">> <</link>>The <<np name>> doesn't look your way, but <<np he>> mutters an answer: <br> <br>
"It's over..." <<np He>> says. "I was so close... just a few clicks from the gate... but then I fucking crashed my drone..." <br> <br>
<<np He>> keeps muttering a few now unintelligible sentences, but you piece out what happened. <<np He>> must have been operating a contraband drone, and now both the drone and the product lay in the Undercity, waiting to be found by the authorities... or whatever organization the <<np name>> works for. <br> <br>
<<link "Offer to get rid of the evidence" "Bar Drone Crash Check">> <<attCheck 2 5 20 15>> <</link>> <<showCheck 2 5 20 15>> <br>
<<link "Stay near the bar" "Bar Seat">> <</link>> <br>
<<link "Leave" "Bar">> <</link>>You tell the <<np name>> you could get rid of the evidence if <<np he>> gives you the location.
<<if $success is 1>> <<np He>> hesitates, <span style="color:limegreen"> but ultimately seems convinced. </span> <br> <br>
"Please be quick." <<np He>> says as <<np he>> gives you the coordenates. <br> <br>
<<set _x to random(1, 2)>> <<chance 50>> <<set _x -= _x *2>> <</chance>>
<<set _y to random(1, 2)>> <<chance 50>> <<set _y -= _y *2>> <</chance>>
<<link "Continue">> <<addUndercityQuest CrashedDroneQuest _y _x 300>> <<goto $location>> <</link>>
<</if>>You locate the crashed drone by following a column of smoke. You find it half embedded into a pile of litter. After retrieving the package that it carried, you bury the drone and hope that'll be enough. <br> <br>
Once safe you open the box and find multiple pieces of candy. It immediately makes sense why the drone operator wanted it gone.
<<set _itemCount to random(10, 15)>>
<br> <br>
<<showItem Candy _itemCount>> <br>
<<passageXP 30>> <br> <br>
<<link "Continue">> <<lootItem 0 Candy _itemCount>> <<goto $location>> <</link>><<if $labRatJob is 0>>
<<set _event to "Lab Rat Intro">>
<<set $labRatJob to 1>>
<<else>>
<<set _pool to {
"Lab Rat Aphro": 10,
"Lab Rat Pain": 10,
}>>
<<set _event to weightedEither(_pool)>>
<</if>>You join the waiting synths. Most of them are silent, looking down at the floor. Some even look scared. <br> <br>
One by one you are called inside. Eventually
<<clearNPC>> <<createNPC Blake>> <<set $people.push($npc[0])>> <<set $blake to $people.length -1>>
a <<pr noun $blake>> in a white labcoat comes out and signals you in. <br> <br>
"You are new, right?" <<np He>> says as you follow <<np him>>. "I'm Dr Blake. We need to run a quick scan to see how closely you resemble a human." <<np He>> looks at you up and down. <<if $body.modScore is 0>> "Visually, we are off to a good start." <</if>> <br> <br>
Dr Blake guides you to the scan room. It takes merely a few seconds for the scanning lights to have a full image of your body, in and out. <br> <br>
"Remarkably close." Dr Blake notes as <<np he>> studies the results. "Those at Icarus knew what they were doing. It's a shame they burnt down all their data before we could get to it..." <br> <br>
You ask what the job is, exactly. <<np He>> frowns. <br> <br>
"You weren't told? With how close synths resemble humans, you are the perfect candidate for testing Elixir's new products without endangering real people. You have a far higher chance of survival, and any physical damage you'll take can be fixed for much cheaper. It's just the logical choice." <br> <br>
<<link "Right..." "Lab Rat Intro 2">> <</link>>"This is a good opportunity for you." Dr Blake insists. "You'll be rewarded well, of course. And you'll always have the option to refuse... we have to operate within the new laws, after all." <<np He>> clears <<np his>> throat. <br> <br>
'Being your first time, I got something simple for you. We're running tests on a modified formula of the original Icarus synth boost. We believe with a few tweaks we might make it work on humans. That is, if we manage to control the side-effects...' <br> <br>
'It'll only take a few minutes. We'll pay 200 if you are willing to go through with it.' <br>
<div class="cardBox">
<span style="color:aqua">Lab Rat Experiment: Modified Boost.</span> | <span style="color:gold">200 Credits </span> - <<showTime 10>>
+ Danger Label --> <span style="color:limegreen">Safe</span>
</div>
<br>
<<link "Accept" "Lab Rat Intro Accept">> <</link>> <br>
<<link "Reject" "Lab Rat Intro Reject">> <</link>> <br>"Shame." Dr Blake says. "Just so you know, we only offer one job a day per synth. We're not exactly running low on your type, as you could see outside. Come back tomorrow if you change your mind." <br> <br>
Dr Blake guides you back to reception, where <<np he>> calls in a different synth. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>"Very well." Dr Blake hands you a small clear vial. "Here's our latest prototype. I'll scan your body's reaction while you drink it." After activating the scanning machines again, Dr Blake gives you a patient gesture. "Go on." <br> <br>
After a moment of hesitation, you drink the small vial. It feels invigorating... but not for long. As Blake frowns watching the scan results, a debilitating feeling crawls up your body. You fall to your knees. <<loseNeed 0 600>> <<loseNeed 3 600>> <<applyStatus WeakDebuff 2880>> <br> <br>
"Another fail." Dr Blake says in a detached tone, shaking <<np his>> head. "Don't worry. There doesn't seem to be any permanent effect." <br> <br>
You struggle to your feet. 'Experiments rarely go the way you expect them to go. Keep that in mind.' <br> <br>
As Dr Blake guides you outside, the payment is transferred to your account. <<gainCred 200>> <br> <br>
"We only offer one job a day per synth." Dr Blake explains. "We're not exactly running low on your type, as you could see. Come back tomorrow if you want another job." <br> <br>
With that, you both reach reception, where <<np he>> calls in a different synth. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You are at Elixir Company's lab in Sector A5. It's a silent, sterile place, only coming alive with the distant voices of the scientists working inside and the beeping of the receptionist machine processing data.
<<if $labRatJob is 0>> <br> <br>
There's a few synths waiting to be called in. <br> <br>
<<if $dayFlag.LabRat is undefined>>
<<link "Wait to be called">> <<passtime 15>> <<event "Elixir Lab Eventpool">> <</link>> <<showTime 15>>
<<else>>
<span style="color:orange">You were already offered a lab rat job today. </span> <</if>>
<</if>>
<br> <br>
<<link "Leave">> <<passtime 2>> <<set $location to "Sector A5">> <<event "Slum Eventpool Main">> <</link>> <<showTime 2>><<set _rarityPool to {
trivial: 10,
common: Math.clamp(-3 +$gymTrain, 0, 10),
}>>
<<set _rarity to weightedEither(_rarityPool)>>
<<if _rarity is "trivial">>
<<set _event to weightedEither({
"Slum Gym Event Stares": 10,
"Slum Gym Event Boost Witness": 10,
"Slum Gym Event Ad": 10,
"Slum Gym Event Grunts": 10,
})>>
<<elseif _rarity is "common">>
<<set _event to weightedEither({
"Slum Gym Event Harrass": 10,
"Slum Gym Event Oral Harrass": 10,
"Slum Gym Event Roid Hit": 10,
"Slum Gym Event Pickpocket": 10,
})>>
<</if>>
<<if $gymTrain is 4>> <<set _event to "Slum Gym Event Harrass">> <</if>>
<<if $gymHostility gte 50>> <<set _event to "Slum Gym Event Gangbang">> <</if>>
<<set $gymTrain += 1>><<clearNPC>> <<mult 3>> <<createNPC GymGoer>> <</mult>>
While you work out, suddenly three humans approach you. <br> <br>
"Enough is enough, synth bitch." Says a <<np name>>. "Time to teach you a lesson."
<br> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<loadEnemy 1>> <<loadEnemy 2>> <<goto 'Fight'>> <<set $aftermath to "Slum Gym Event Gangbang Win">> <<set $surrender to "Slum Gym Event Gangbang Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>>With the humans defeated, you continue to work out. The rest of the gym watches in shock. <<gymHostility -100>> <br> <br>
<<passageXP 30>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>"That's more like it." The <<np name>> laughs as they advance on you. <br> <br>
<<clearPartner>> <<createPartner 0>> <<createPartner 1>> <<createPartner 2>>
<<setScene 1>> <<set $scene to "GangbangScene">>
<<include setup[$scene].desc>> <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Slum Gym Event Gangbang Finish">> <</link>>"there you go." The <<np name>> gasps. "Learned your lesson?" <<gymHostility -100>> <br> <br>
<<passageXP 30>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<include "Slum Gym Train">> <br> <br>
<<clearNPC>> <<createNPC Gymgoer>>
A <<np name>> leers at you as you work out. <<playerExposed 300>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue" "Slum Gym">> <</link>><<include "Slum Gym Train">> <br> <br>
<<clearNPC>> <<createNPC Gymgoer>>
You see a <<np name>> struggling to bench press a worrying amount of plates. Despite giving up however, you watch <<np him>> down several vials of a strange liquid. Then <<np he>> tries again, and lifts the plates easily. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue" "Slum Gym">> <</link>><<include "Slum Gym Train">> <br> <br>
The machine locks in place. You watch in horror as the screen starts playing a series of unskippable ads. <br> <br>
<<passageXP 10>> <br> <br>
<<link "Wait" "Slum Gym">> <<passtime 10>> <</link>> <<showTime 10>><<include "Slum Gym Train">> <br> <br>
<<clearNPC>> <<createNPC Gymgoer>>
A <<np name>> huffs and grunts obnoxiously nearby. You do your best to tune <<np him>> out. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue" "Slum Gym">> <</link>><<include "Slum Gym Train">> <br> <br>
<<clearNPC>> <<createNPC Gymgoer>>
<<if $visit.includes(passage())>> A <<np name>> glares at you as you work out. "Why are you even here?" <<np He>> asks at some point. "No part of you is natural." You try to ignore <<np him>>. <<gymHostility 1>> <br> <br>
<<gainXP 20>> <br> <br>
<<else>>While you are distracted working out, a <<np name>> approaches you from behind, standing way too close to you. You try to ignore <<np him>> and focus on your current set, <span style="color:red">when you feel <<np him>> jab you on the shoulder with a jetter pen.</span> <br> <br>
You recoil in shock as a group of humans nearby laugh. The <<np name>> snickers. "A little welcome gift from us." <<np He>> smiles disingenuinely. "Your kind loves these, don't they?" You start feeling lightheaded. The <<np name>>'s smile disappears. "Look out, wirehead. Synths sometimes get broken down in here. Don't work too hard, alright?" <br> <br>
As <<np he>> walks away, you hold on to the machine as your head spins.
<<gymHostility 10>> <br> <br>
<<applyStatus AphroStatus 300>> <<addiction Aphrodisiac 40>>
<<gainXP 120>> <br> <br> <</if>>
<<link "Continue" "Slum Gym">> <</link>><<include "Slum Gym Train">> <br> <br>
<<clearNPC>> <<createNPC Gymgoer>>
A <<np name>> watches you work out from a nearby machine. You try to ignore <<np him>>, until <<np he>> spreads <<np his>> legs and openly starts rubbing <<np his>> crotch. When you turn to look at <<np him>> <<np he>> laughs. <br> <br>
"Like what you see, clanker? Why don't you take a break and come do what you were made for?" <br> <br>
<<passageXP 20>> <br> <br>
<<link "Ignore <<np him>>" "Slum Gym Event Oral Harrass Answer">> <<set $answer to 0>> <</link>> <br>
<<link "Insult <<np him>>" "Slum Gym Event Oral Harrass Answer">> <<set $answer to 1>> <</link>> - <span style="color:red">Vengeful</span> <br>
<<link "Get on your knees" "Slum Gym Event Oral Harrass Answer">> <<set $answer to 2>> <</link>> - <span style="color:violet">Compliant</span> <br><<if $answer is 0>>
You ignore the <<np name>>, even when <<np his>> remarks become more aggressive. Eventually <<np he>> leaves you alone, but not without muttering an insult or two. <<gymHostility 2>>
<br> <br>
<<link "Continue" "Slum Gym">> <</link>>
<<elseif $answer is 1>>
You insult the <<np name>>'s physique. <<np He>> doesn't take it well, but <<np he>> just seethes in silence and eventually walks away. <<gymHostility 8>> <<playerPersonality Vengeful 3>>
<br> <br>
<<link "Continue" "Slum Gym">> <</link>>
<<elseif $answer is 2>> <<clearPartner>> <<createPartner 0>>
You stand up and go kneel in front of the <<np name>>. <<np He>> seems surprised for a moment, but then smirks. <br> <br>
"At least you know your place." <<np He>> laughs as <<np he>> grabs your head. <br> <br>
<<setScene 1>> <<set $scene to "GivingOralScene">> <<set $scenePublic to 1>>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Slum Gym Event Oral Harrass Finish">> <</link>>
<</if>>The <<np name>> laughs as <<np he>> stands up to head to the showers. "I wish all synth bitches were like you. Oh, look, you got fans now." <br> <br>
You look around to see several humans watching you and laughing. You stand up and try to ignore them. <<gymHostility -8>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<include "Slum Gym Train">> <br> <br>
<<clearNPC>> <<createNPC Gymgoer>>
A <<np name>> approaches you brandishing a jetter pen and smiling deviously. "Ey, wirehead. Got a little something for you. Extend your arm." <br> <br>
<<link "Accept" "Slum Gym Event Roid Hit Yes">><</link>> - <span style="color:violet">Compliant</span> <br>
<<link "Refuse" "Slum Gym Event Roid Hit No">> <</link>> - <span style="color:red">Vengeful</span> <br>The <<np name>> injects you with the pen. <<loseNeed 0 3000>> <<applyStatus StrengthRate 1440>> <<applyStatus EnduranceRate 1440>> <<applyStatus DexterityRate 1440>>
<br> <br> "You're welcome." <<np He>> laughs as you fall to your knees. <<gymHostility -3>> <br> <br>
<<passageXP 30>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The <<np name>> scoffs. <br> <br>
"Ungrateful bitch." <<gymHostility 3>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<set _dif to 15>> <<set _dif2 to _dif *2>>
A <<np name>> is taking a water break, leaving <<np his>> duffel bag unattended. You look around: nobody pays much attention. <br> <br>
<<if $perkMoves.includes("StealMove")>>
<<if $power gte 5>> <<link "Steal credits">> <<attCheck 4 0 _dif 10>> <<if $success is 1>> <<set $steal to 0>> <<goto "Slum Gym Event Pickpocket Win">> <<else>> <<goto "Slum Gym Event Pickpocket Lose">> <</if>> <<set $power -= 5>> <</link>> <<crimeTip>> | <<showCheck 4 0 _dif>> - <<skillTip Hacking>> - <span style="color:orange"> 5 Core Power </span> <<else>> <span style="color:orange">Not enough Core Power to hack credits.</span> <</if>> <br> <</if>>
<<link "Pickpocket">> <<attCheck 4 0 _dif2 12>> <<if $success is 1>> <<set $steal to 1>> <<goto "Slum Gym Event Pickpocket Win">> <<else>> <<goto "Slum Gym Event Pickpocket Lose">> <</if>> <</link>> <<crimeTip>> | <<showCheck 4 0 _dif2>> <br>
<<link "Ignore <<np him>>">> <<goto $location>> <</link>><<addCrime 10>>
<<if $steal is 0>>
The <<np name>> remains clueless as you drain <<np his>> bank account. <<skillRandom Hacking 30 60>> <<gainCred _ran>> <<gainSkill Hacking 10 20>> <br> <br>
<<else>>
You stealthily rummage inside the <<np name>>'s bag without <<np him>> noticing.
<<pickpocket GymgoerPocket>>
<</if>>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The <<np name>> catches you in the act. <br> <br>
"Not surprising for a synth bitch. Scram." <<gymHostility 10>>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<widget "gymHostility">>
<<if _args[0] gt 0>>
<span style="color:red"> +Gym Hostility </span>
<<else>> <span style="color:limegreen"> -Gym Hostility </span>
<</if>>
<<set $gymHostility += _args[0]>>
<</widget>><<if _passout is undefined>>
You are at Powerhouse Gym in the lower districts.
<<if $gymTrain is undefined>> <<set $gymTrain to 0>> <<set $gymHostility to 0>> <</if>>
<br> <br>
<<link "Basic Strength Training">> <<passtime 20>> <<set $location to "Slum Gym">> <<event "Slum Gym Eventpool">>
<<set $trainType to 0>> <<set $trainLevel to 18>>
<</link>> <<showTime 20>> | <span style="color:orange">Tiring</span> <br>
<<link "Basic Endurance Training">> <<passtime 20>> <<set $location to "Slum Gym">> <<event "Slum Gym Eventpool">>
<<set $trainType to 1>> <<set $trainLevel to 18>>
<</link>> <<showTime 20>> | <span style="color:orange">Tiring</span> <br>
<<link "Basic Dexterity Training">> <<passtime 20>> <<set $location to "Slum Gym">> <<event "Slum Gym Eventpool">>
<<set $trainType to 4>> <<set $trainLevel to 18>>
<</link>> <<showTime 20>> | <span style="color:orange">Tiring</span> <br>
<br>
<<link "Leave" "Sector C5">> <<passtime 2>> <</link>> <<showTime 2>>
<</if>><<if $att[$trainType] lt $trainLevel>>
<<if $dayFlag.DayGym is 0>> <span style="color:limegreen">You have a really good workout.</span><<gainAtt $trainType 30 60>>
<<elseif $dayFlag.DayGym is 1>> <span style="color:limegreen">You have a good workout.</span> <<gainAtt $trainType 20 40>>
<<elseif $dayFlag.DayGym is 2>> You make good progress, but you are slowing down for the day.<<gainAtt $trainType 15 30>>
<<else>> You exercised too much today and you are not making that much progress. <<gainAtt $trainType 7 14>>
<</if>> <<loseNeed 1 45>>
<<set $dayFlag.DayGym += 1>>
<<else>> <span style="color:red">This training is too easy to help you make progress.</span> <</if>><<if $visit.includes(passage())>> You enter the Powerhouse Gym. The robotic receptionist greets you with a smile. <br> <br>
<<if $dayFlag["DayGym"] isnot undefined>> <span style="color:limegreen"> You have an active day pass. </span> <br> <br>
<<link "Go inside" "Slum Gym">> <</link>> <br>
<<else>>
<<if $credit gte 400>>
<<link "Buy a day pass" "Slum Gym DayPass">> <</link>> <<payTip 400>> <br> <</if>>
<</if>>
<<link "Leave the gym" "Sector C5">> <</link>><<else>> Reinforced glass doors slide open as you step into the gymnasium. A few security turrets guard the reception area. You approach the front desk, where a bot with a realistic feminine face greets you with a wide smile. <br> <br>
"Welcome to Powerhouse Gym! We recognize this is your first time in one of our subsidiaries. We are the number one gym chain in the world, with branches in every major neo-city! Inclusiveness and diversity are our core values, which is why we are proud to welcome all kinds of clients, synthetics included. We offer a wide variety of payment plans-"
<br> <br>
You tune out the sale pitch and get the important details. The only plan that makes any financial sense is the day pass for 400 credits. <br> <br>
<<if $credit gte 400>>
<<link "Buy a day pass" "Slum Gym DayPass">> <</link>> <<payTip 400>> <br>
<</if>>
<<link "Leave the gym" "Sector C5">> <</link>> <</if>>You send 400 credits to the gym. The receptionist quickly processes the payment. <<loseCred 400>> <br> <br>
<<set $dayFlag["DayGym"] to 0>>
<<link "Continue" "Slum Gym">> <</link>><-- <<link "Back to contacts" "Social">> <</link>>
<h3> Bad Trainer </h3>
Bad Trainer is a mechanically augmented trainer at Powerhouse Gym. <<if $people[$badTrainer].pronouns[0] is "he">> He <<else>> She <</if>> doesn't seem to like you that much.<-- <<link "Back to contacts" "Social">> <</link>>
<h3> Good Trainer </h3>
Good Trainer is a hard-working trainer at Powerhouse Gym.Most of the machines are occupied, and you quickly realize the other gym-goers are not very inclined to welcome you. After a few minutes of failing to secure a spot anywhere, a metalic hand falls on your shoulder. <br> <br>
<<clearNPC>> <<createNPC BadTrainer>> <<set $people.push($npc[0])>> <<set $badTrainer to $people.length -1>>
"Listen here, little thing." A gruff voice says. You look up to see a tall <<if $people[$badTrainer].pronouns[0] is "he">> man <<else>> woman <</if>> with numerous mechanical augmentations, including half a face made of steel. "We can't have your kind go around unsupervised here, so stop wandering around and come with me." <br> <br>
<<np He>> doesn't let go of your shoulder as <<np he>> drags you to a secluded corner of the gym. 'Synths need some extra guidance.' <<np He>> scoffs. 'That's why the gym assigns you a trainer. You got lucky I found you first. I'll rough you up until you're worth something.' <br> <br>
<<link "Push <<np him>> away" "Slum Gym Trainer Meet">><<set $answer to 0>><</link>> <br>
<<link "Follow quietly" "Slum Gym Trainer Meet">><<set $answer to 1>><</link>><<if $gymTrainer is 0>>
<<if $people[$badTrainer].train is 0>>
<</if>>
<<else>>
<</if>><<if $answer is 0>>
You push <<np him>> away forcefully... or try to. <<np He>> doesn't move an inch, and instead <<np his>> mechanical hand thightens its grip on your shoulder. <br> <br>
"Pathetic." <<np He>> says dismissively. "I see we have a lot of work ahead of us. Now be nice and quiet or I'll beat that attitude out of you." <br> <br>
You are about to protest further, but then another hand grabs your other arm.
<<else>>
You follow <<np him>> quietly, not wanting to cause any trouble. As <<np he>> drags you to a secluded corner of the gym, a firm hand grabs your other arm. <br> <br>
<</if>>
<<createNPC GoodTrainer>> <<set $people.push($npc[1])>> <<set $goodTrainer to $people.length -1>>
"You know you can't treat 'em like that." A somewhat cheerful voice calls out. You turn to see a very fit <<if $people[$goodTrainer].pronouns[0] is "he">> man, <<else>> woman, <</if>> currently grabbing your arm protectively. "You'll get in trouble again, X. Let me take over." <br> <br>
The augmented trainer scowls. "As if. I found this one first." <br> <br>
"Well <<p he>> is not a fucking slice of pizza." The other trainer retorts with a dry laugh. "It's supposed to be <<p his>> choice. What do you say?" <br> <br>
It takes a second for you to understand the question is directed at you. <br> <br>
<<link "Choose the first trainer" "Slum Gym Trainer Meet 1">> <<set $answer to 0>> <</link>> | <em>Perhaps some rough training is what you need...</em> <br>
<<link "Choose the second trainer" "Slum Gym Trainer Meet 1">> <<set $answer to 1>> <</link>> | <em><<np He 1>> certainly seems nicer.</em><<if $answer is 0>> <<set $gymTrainer to 0>>
You step closer to the augmented trainer. <<np He>> grunts. <br> <br>
"At least this one's smart." <br> <br>
"Just don't repeat what happened last time..." The other trainer sighs, dragging a hand down <<np his 1>> face. "Whatever, catch you for drinks later." <<np He 1>> walks away, leaving you alone with your new trainer. <br> <br>
"Come on." Your trainer says as <<np he>> drags you away. <br> <br>
<<else>> <<set $gymTrainer to 1>>
You step closer to the nice trainer. <<np He>> smiles. <br> <br>
"There, that's settled." <br> <br>
"Pity." The other one just scoffs. "Catch you for drinks later." <<np He>> walks away, leaving you alone with your new trainer. <br> <br>
"You have no idea what I just saved you from." Your trainer laughs heartedly. "Let's get started, alright?" <br> <br>
<</if>>
<<passageXP 50>> <br> <br>
<<link "Continue" "Slum Gym Train">> <</link>><<if _passout is undefined>>
<-- <<link "Exit the mall" "Sector B4">> <</link>>
<br> <br>
<<if $hours gte 6 and $hours lte 21>>
<<link "Food - Beverages - Farmaceutic" "Slum Mall Food">> <</link>> <br>
<<link "Clothing" "Slum Mall Clothing">> <</link>> <br>
<<link "Workshop" "Slum Mall Tools">> <</link>> <br>
<<else>>
<span style="color:orange"> The mall is closing. </span>
<</if>>
<</if>><<if _passout is undefined>>
<-- <<link "Back" "Slum Mall">> <</link>>
<br> <br>
<<if $hours gte 6 and $hours lte 21>>
<<link "Processed Food" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Food">>
<<set $shop to [
["Ration", 5, 0], ["PrepMeal", 30, 0], ["FruitBowl", 60, 0], ["PackedFries", 60, 0],
]>>
<</link>> <br>
<<link "Health and snacks" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Food">>
<<set $shop to [
["StarchSnack", 1, 0], ["EnergyDrink", 45, 0], ["ProteinBar", 150, 0],
]>>
<</link>> <br>
<<link "Sweets" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Food">>
<<set $shop to [
["IceCream", 50, 0],
["ChocBar", 60, 0],
]>>
<</link>> <br>
<<link "Farmaceutic" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Food">>
<<set $shop to [
["Painkiller", 50, 0], ["Bandage", 50, 0], ["Vitamin", 100, 0], ["BeautyCream", 150, 0],
]>>
<</link>> <br>
<<else>>
<span style="color:orange"> The mall is closing. </span>
<</if>>
<</if>><<if _passout is undefined>>
<-- <<link "Back" "Slum Mall">> <</link>>
<br> <br>
<<if $hours gte 6 and $hours lte 21>>
<<link "Dressing room" "Wardrobe">> <<set $location to "Slum Mall Clothing">> <<set $displayOp to 0>> <<set $invTarget to 0>> <<set $pageStart to 0>> <<set $pageEnd to 10>> <</link>>
<br> <br>
<<link "Headwear" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Clothing">>
<<set $shop to [
["CoolCap", 60, 3, "color"],
["SolarHat", 150, 3, "color"],
["WorldWarHelmet", 200, 3, "color"],
]>>
<</link>> <br>
<<link "Facewear" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Clothing">>
<<set $shop to [
["SurgicalMask", 60, 3, "color"], ["FaceShield", 90, 3, "color"],
["ScreenMask", 300, 3],
["GasMask", 600, 3, "color"],
]>>
<</link>> <br>
<<link "Neckwear" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Clothing">>
<<set $shop to [
["Choker", 50, 3, "color"], ["Necktie", 50, 3, "color"],
["USBNecklace", 90, 3, "color"], ["SpikedCollar", 150, 3, "color"],
]>>
<</link>> <br>
<<link "Fullwear" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Clothing">>
<<set $shop to [
["Sundress", 100, 3, "color"],
["LatexBodysuit", 250, 3, "color"],
["MaidDress", 250, 3, "color"],
]>>
<</link>> <br>
<<link "Bodywear" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Clothing">>
<<set $shop to [
["Shirt", 30, 3, "color"], ["Tanktop", 30, 3, "color"], ["Croptop", 30, 3, "color"],
["OfficeShirt", 60, 3, "color"], ["RebelShirt", 60, 3, "color"], ["CamoTanktop", 60, 3, "color"],
["WorkerShirt", 70, 3, "color"],
["Hoodie", 80, 3, "color"],
["OilTanktop", 100, 3, "color"], ["SkinTightShirt", 100, 3, "color"], ["SkullShirt", 100, 3, "color"], ["NeonCroptop", 100, 3, "color"], ["MeshShirt", 100, 3, "color"],
["LeatherJacket", 130, 3, "color"],
["CopperLinkCroptop", 180, 3, "color"], ["CropJacket", 180, 3, "color"], ["ServiceApron", 180, 3, "color"],
["HackerHoodie", 250, 3, "color"],
["TacticalJacket", 300, 3, "color"],
]>>
<</link>> <br>
<<link "Legwear" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Clothing">>
<<set $shop to [
["Pants", 30, 3, "color"], ["Shorts", 30, 3, "color"], ["Skirt", 30, 3, "color"], ["MiniSkirt", 30, 3, "color"], ["MiniShorts", 30, 3, "color"],
["OfficePants", 60, 3, "color"], ["RippedJeans", 60, 3, "color"], ["DenimShorts", 60, 3, "color"],
["CargoPants", 80, 3, "color"],
["SkinTightPants", 100, 3, "color"],
["TacticalCargoPants", 150, 3, "color"],
]>>
<</link>> <br>
<<link "Footwear" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Clothing">>
<<set $shop to [
["Shoe", 50, 3, "color"], ["Sandal", 90, 3, "color"], ["CombatBoot", 150, 3, "color"], ["SpikedBoot", 180, 3, "color"], ["NeonSneaker", 220, 3, "color"],
]>>
<</link>> <br>
<<link "Handwear" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Clothing">>
<<set $shop to [
["Glove", 60, 3, "color"], ["WorkGlove", 90, 3, "color"],
["ElectricGlove", 160, 3, "color"],
]>>
<</link>> <br>
<br>
<<link "Accesories" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Clothing">>
<<set $shop to [
["Backpack", 100, 3, "color"],
["DesignerBelt", 200, 3, "color"],
["BatteryPack", 400, 3, "color"],
]>>
<</link>> <br>
<<else>>
<span style="color:orange"> The mall is closing. </span>
<</if>>
<</if>><<if _passout is undefined>>
<-- <<link "Back to shops" "Slum Mall">> <</link>>
<br> <br>
<<if $hours gte 6 and $hours lte 21>>
<<link "Tools" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Tools">>
<<set $shop to [
["FabricSpray", 50, 7],
["SprayPaint", 90, 7],
["MagKey", 150, 7],
]>>
<</link>> <br>
<<link "Self Defense" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Tools">>
<<set $shop to [
["ShockStick", 400, 6],
["MagShield", 500, 6],
]>>
<</link>> <br>
<<link "Furniture" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Slum Mall Tools">>
<<set $shop to [
["FurnitureSet", 200, 2],
["HousePlant", 300, 2],
["CraftBench", 900, 2],
]>>
<</link>> <br>
<<else>>
<span style="color:orange"> The mall is closing. </span>
<</if>>
<</if>><<clearNPC>> <<createNPC StreetRat>>
<<set $robAmount to Math.clamp( Math.trunc($credit /10), 0, 99)>> <<if $robAmount gt 0>>
You must have gotten distracted for an instant, because you suddenly feel a flux of credits getting drained out of your account. <<loseCred $robAmount>> <br> <br>
You turn around to find a <<np name>> poking your hip with the antenna of a strange handheld machine. Found out, <<np he>> quickly sprints into the crowd. <<np He>>'s getting away with your credits! <br> <br>
<<link "Chase after <<np him>>!" "Street Market Event Robbed Chase">> <<attCheck 4 5 20 10>> <</link>> <<showCheck 4 5 20>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>>
<<else>> You get distracted for a single instant. When you turn around, a <<np name>> is poking you on the hip with a strange handheld machine. <<np He>> stares at you for a few moments. <br> <br>
"Broke ass tinhead." <<np He>> mutters after a while, and walks away into the crowd. <br> <br>
<<link "Okay">> <<goto $location>> <</link>> <</if>>You chase after the <<np name>>, <<if $success is 1>> and manage to catch up to <<np him>>. You corner <<np him>> in an alley a few feet away from the street market. <br> <br>
"Ey, tinhead, I was just playing around." The <<np name>> rambles, eyes wide open as <<np he>> backs away against a wall. "I'll give 'em all back... promise..." <br> <br>
<<if $visit.includes("Street Market Event Robbed Device Buy")>> <<else>> <<link "Ask about the stealing device" "Street Market Event Robbed Device">> <</link>> <br> <</if>>
<<link "Just take your credits and leave" "Street Market Event Robbed Get Credit">> <</link>> <br>
<<link "<<np He>> can keep them, actually" "Street Market Event Robbed Forgiven">> <</link>> <br>
<<else>> but <<np he>>'s way too fast for you. You lose <<np him>> when <<np he>> ducks beneath a sign of a street stand and you hit your head against said sign. <br> <br> <<link "Continue">> <<goto $location>> <</link>> <</if>>You tell the <<np name>> to give your credits back and go. <<np He>> immediately types something on the machine. <<gainCred $robAmount>> <br> <br>
You let <<np him>> run out the alley and back into the street market, probably in search of <<np his>> next victim. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You tell the <<np name>> <<np he>> can keep the credits. <<np He>> blinks. <br> <br>
"Then why you chasing me, tinhead?" <<np He>> shouts. "You scared me for no reason!" <br> <br>
Huffing indignantly, <<np he>> walks out the alley and back into the street market, probably in search of <<np his>> next victim. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<gainFavor StreetRats 1>> <<goto $location>> <</link>>You ask the <<np name>> about the device <<np he>> used to steal from you. <br> <br>
"Eh? Why you ask?" <<np He>> pauses. "You interested in buying it? Let me keep the creds... and 50 extra, and I'll give it to you, promise." <br> <br>
<<if $credit gte 50>> <<link "Accept the offer" "Street Market Event Robbed Device Buy">> <<loseCred 50>> <</link>> <<payTip 50>> <br> <</if>>
<<link "Just take your credits and leave" "Street Market Event Robbed Get Credit">> <</link>> <br>
<<link "<<np He>> can keep them, actually" "Street Market Event Robbed Forgiven">> <</link>> <br>"Nice!" The <<np name>> exclaims surprised, after you send <<np him>> the credits. "Oh, here you go." <br> <br>
<<np He>> hands you the strange device. You hold it in your hands, unable to parse how to use it. Thankfully, the <<np name>> gives you some pointers. <br> <br>
"Just point to whoever you wanna rob." <<np He>> says. "Be careful tho... Don't get caught." <br> <br>
<<np He>> keeps staring at you until seemingly remembering <<np he>> just robbed you. <br> <br>
"Uh... bye now!" <<np He>> walks out the alley and back into the street market, probably in search of <<np his>> next victim. <br> <br>
<span style="color:gold"> You learn the Steal combat move! </span> <br> <br>
<<passageXP 30>> <br> <br>
<<link "Continue">> <<set $perkMoves.push("StealMove")>> <<gainFavor StreetRats 2>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumScientist>>
A <<np name>> in a white lab coat approaches you. <br> <br>
"You seem stable." <<np He>> notes. <<np He>> holds a small capsule between <<np his>> fingers. "This is a new experiment of mine... I have no idea what it does. I'll pay you if you swallow it." <br> <br>
<<link "Accept" "Street Market Event Pill Test Accept">> <<trauma 1 0>> <</link>> <br>
<<link "Reject">> <<goto $location>> <</link>>You accept the <<np name>>'s offer. <<np He>> gives you the capsule and after staring at it for a few seconds, you swallow it whole. <br> <br>
<<set _cat to weightedEither({
NeedLoss: 10,
Debuff: 5,
Roofied: 2,
})>>
<<if _cat is "NeedLoss">>
<<set _result to weightedEither({
HungerLoss: 10,
EnergyLoss: 10,
MentalLoss: 10,
HealthLoss: 10,
})>>
<<if _result is "HungerLoss">>
Immediately your stomach knots and you start feeling very hungry. <<loseNeed 2 300>>
<<elseif _result is "EnergyLoss">>
You stumble a couple steps, feeling suddenly very tired. <<loseNeed 1 300>>
<<elseif _result is "MentalLoss">>
A sequence of terrifying images flash through your head. <<loseNeed 3 600>>
<<elseif _result is "HealthLoss">>
A cold shiver runs through your body. You fall to your knees. <<loseNeed 0 600>>
<</if>>
<br> <br> After you describe the effect, the <<np name>> tilts <<np his>> head. "So that's what it does! Here." <<np He>> hands you the creds and leaves without any concern for you. <<gainCred 50>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<elseif _cat is "Debuff">>
<<set _result to weightedEither({
WeakDebuff: 10,
FrailDebuff: 10,
ConfusedDebuff: 10,
DizzyDebuff: 10,
ClumsyDebuff: 10,
})>>
<<if _result is "WeakDebuff">>
Immediately you start feeling weak. <<applyStatus WeakDebuff 900>>
<<elseif _result is "FrailDebuff">>
You start shaking. You feel vulnerable. <<applyStatus FrailDebuff 900>>
<<elseif _result is "ConfusedDebuff">>
You blink several times. For a few moments, you forgot who you were. <<applyStatus ConfusedDebuff 900>>
<<elseif _result is "DizzyDebuff">>
Thinking becomes a lot harder for a few moments. <<applyStatus DizzyDebuff 900>>
<<elseif _result is "ClumsyDebuff">>
You almost fall over. It takes you a while to regain your balance. <<applyStatus ClumsyDebuff 900>>
<</if>>
<br> <br> After you describe the effect, the <<np name>> tilts <<np his>> head. "So that's what it does! Here." <<np He>> hands you the creds and leaves without any concern for you. <<gainCred 100>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<elseif _cat is "Roofied">>
<span style="color:red">You stumble to your knees.</span> <<applyStatus WeakDebuff 60>> <<applyStatus FrailDebuff 60>> <<applyStatus ConfusedDebuff 60>> <<applyStatus DizzyDebuff 60>> <<applyStatus ClumsyDebuff 60>> The <<np name>> grabs your shoulder, laughing. <br> <br>
"There you go." <<np He>> smirks. <<np His>> voice reverberates in your ears. "Let me help you out..." <br> <br>
You can barely move as the <<np name>> guides you to a secluded part of the street market. However, once you are alone, you finally manage to push <<np him>> away. Without wasting a second <<np he>> lunges at you. <br> <br>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Street Market Event Pill Test Win">> <<set $surrender to "Street Market Event Pill Test Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>
<</if>>The <<np name>> stumbles back and hits <<np his>> head against a wall. You take the opportunity to escape. <br> <br>
<<passageXP 25>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>> <<set $scenePublic to 1>>
<span style="color:red">Victorious, the <<np name>> advances on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
"Stop fighting back now." <<np He>> laughs. <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Street Market Event Pill Test Finish">> <</link>>The <<np name>> sighs. "Wish I could take you with me. I could do so many things to you..." Shaking <<np his>> head, <<np he>> walks away, finally leaving you alone. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
A <<np name>> snaps a photo of you. <<playerExposed 200>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
As you walk by a <<np name>> wistles at you: <br> <br>
"<<print either("Wish I could buy you instead.",)>>" <<np He>> says. <<loseNeed 3 180>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>> <<calcProstitutionPrice 30 60>>
A <<np name>> approaches you from behind, whispering in your ear: <br> <br>
"Put those lips to work I'll pay you $prostCost credits." <br> <br>
<<link "Accept" "Street Market Event Oral Accept">> <</link>> <<prostTip>> <br>
<<link "Reject" "Street Market Event Oral Reject">> <<unset $prostCost>> <</link>>You look down and walk away quickly. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>> <<set $scene to "GivingOralScene">> <<set $scenePublic to 1>>
"I hope you don't mind if we do this right here." <<np He>> says.
<<include setup[$scene].desc>> <br> <br>
<<link "Continue">> <<goto "Scene">> <<set $aftermath to "Street Market Event Oral Finish">> <</link>>The <<np name>> laughs as <<np he>> stares at your mess of a face. "You look so much better this way." <<np He>> says as <<np he>> hands you the credits. <<prostPay $prostCost>> <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>> <<calcProstitutionPrice 50 100>>
A <<np name>> stares at you lustfully. <br> <br>
"Can I buy <em>you</em> for a little while?" <<np He>> proposes. "How does $prostCost credits sound?" <br> <br>
<<link "Accept" "Street Market Event Prost Accept">> <</link>> <<prostTip>> <br>
<<link "Reject" "Street Market Event Prost Reject">> <<unset $prostCost>> <</link>>You look down and walk away quickly. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1 mainCourse>> <<set $scenePublic to 1>>
"Let's see if you are worth it." <<np He>> laughs as <<np he>> pulls you to an abandoned stand.
<<include setup[$scene].desc>> <br> <br>
<<link "Continue">> <<goto "Scene">> <<set $aftermath to "Street Market Event Prost Finish">> <</link>>The <<np name>> rests against the stand. "Definitely worth it." <<np He>> laughs. <<prostPay $prostCost>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
A <<np name>> approaches you, smiling. <br> <br>
<<if $playerStat.UpperCover gt 0 or $playerStat.LowerCover gt 0>>
"Hey there, gorgeous. Can I pay you 200 creds for those clothes you're wearing?" <br> <br>
<<link "Accept" "Street Market Event Clothing Sell Accept">> <<trauma 5 0>> <</link>> <br>
<<link "Reject">> <<goto $location>> <</link>>
<<else>>
"It's nice seeing your type all exposed like this, as you're meant to be." <<np He>> says, as if it is a compliment. <<playerExposed 200>>
<br> <br> <<link "Continue">> <<goto $location>> <</link>>
<</if>>You accept the <<np name>>'s offer. <<np He>> stares at you as you strip naked and hand <<np him>> your clothes. <<playerStrip "upper body" "lower body">> <br> <br>
"Nice bot." <<np He>> praises. "This is how you should look like, always." With a smile on <<np his>> face, <<np he>> sends you the credits and walks away holding your clothes. <<gainCred 200>> <<playerExposed 400>> <br> <br>
<<gainRep 2 20>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>Suddenly a security bot blocks your way. <br> <br>
"Please come with me quietly." It orders in a robotic voice while brandishing a pair of handcuffs. <br> <br>
<<link "Run!" "Street Market Event Security Run">> <<attCheck 4 5 20 12>> <</link>> <<showCheck 4 5 20>>You turn around and run away.
<<if $success is 1>> The security bot is too slow to catch up! <br> <br> <<link "Continue">> <<goto $location>> <</link>>
<<else>> The security bot catches up to you! <br> <br>
<<link "Defend yourself!">> <<startFight>> <<createEnemy SecurityBot 1>> <<goto 'Fight'>> <<set $aftermath to "Street Market Event Security Run Win">> <<set $surrender to "Street Market Event Security Run Surrender">> <<set $surrenderDanger to 2>> <</link>>
<</if>>The security bot collapses and you promptly get away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>Defeated, you can't resist as the bot restrains you. You can only wait until the police arrives. <br> <br>
<<addCrime 10>>
<<link "Continue" "Police Caught">> <</link>><<set _dangerChance to 10>> <<set _normalChance to 10>>
<<if $playerStat.UpperCover lte 10>> <<set _dangerChance += 10>> <<set _normalChance -= 5>> <</if>>
<<if $playerStat.LowerCover lte 10>> <<set _dangerChance += 20>> <<set _normalChance -= 5>> <</if>>
<<set _rarityPool to {
nothing: 40 -_dangerChance,
common: 30,
uncommon: 5,
}>>
<<set _rarity to weightedEither(_rarityPool)>>
<<if _rarity is "common">>
<<set _event to {
"Street Market Event Robbed": _normalChance,
"Street Market Event Pill Test": _normalChance,
"Street Market Event Photo": _dangerChance,
"Street Market Event Catcall": _dangerChance,
"Street Market Event Oral": _dangerChance,
"Street Market Event Prost": Math.trunc(_dangerChance *(_bait /100)),
"Street Market Event Clothing Sell": _dangerChance,
"Street Market Event Security": Math.clamp($streetMarketSus -10, 0, 30),
}>>
<<elseif _rarity is "uncommon">>
<<set _event to {
"Street Market Event Pet Offer": 10,
"Street Market Event Eye Collector": 10,
"Street Market Event StreetRat Accuse": 10,
}>>
<</if>>
<<if _event isnot undefined>>
<<set _event to weightedEither(_event)>> <</if>>
<<if $streetMarketSearch gte 15 and $visit.includes("Scrap Shop Visit") is false>> <<set _event to "Scrap Shop Visit">> <</if>>
<<if $streetMarketSearch gte 60 and $visit.includes("Weapon Shop Visit") is false>> <<set _event to "Weapon Shop Visit">> <</if>>
<<if $rep[2] gte 1 and $visit.includes("Business Rep First") is false>> <<set _event to "Business Rep First">> <</if>>You notice some people start recognizing you. It seems you're becoming somewhat known around the market. For better or for worse, starting to make a name for yourself feels good. <br> <br>
<<gainAdv>> <br> <br>
<<passageXP 30>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>>
A <<np name>> approaches you warily. <br> <br>
"Excuse me..." <<np He>> says timidly. "You just look so cute... can I pay you fifty creds to... pet you?" <br> <br>
<<link "Accept" "Street Market Event Pet Offer Yes">> <<trauma 1 0>> <</link>> | <span style="color:violet">Compliant </span> <br>
<<link "Insult <<np him>>" "Street Market Event Pet Offer Insult">> <</link>> | <span style="color:red">Vengeful </span> <br>
<<link "Just walk away">> <<goto $location>> <</link>>You accept the <<np name>>'s offer. <<np He>> smiles and, cautiously, starts petting your hair. <<playerPersonality Vengeful -5>> <br> <br>
It's a little embarrasing, but it actually doesn't feel bad. Instead it feels unbelievable good... <<headpat 1000>> <br> <br>
"So cute..." The <<np name>> sighs. "Sorry. Here you go." <<gainCred 50>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You snap at the <<np name>> with the worst string of insults you can think of. <<np He>> winces as if physically struck. <<playerPersonality Vengeful 5>> <br> <br>
"S-sorry!" <<np He>> shouts as <<np he>> runs away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC RichHuman>>
<<if $body.external["left eye"][0] is "OgEye" and $body.external["right eye"][0] is "OgEye">>
A <<np name>> surrounded by bodyguard bots is checking the eyes of every synth <<np he>> sees. When <<np he>> takes a look at yours, <<np he>> smiles slowly. <br> <br>
"Those are some beautiful eyes they gave you." <<np He>> says. "Sadly, they are wasted on a thing like you. Would you consider parting from them for 5000 Credits?" <br> <br>
<<link "Consider it" "Street Market Event Eye Collector Yes">> <</link>> <br>
<<link "Refuse" "Street Market Event Eye Collector No">> <</link>>
<<else>>
A <<np name>> surrounded by bodyguard bots is checking the eyes of every synth <<np he>> sees. When <<np he>> takes a look at yours, <<np he>> shakes <<np his>> head disappointed and continues walking. <br> <br> <<link "Continue">> <<goto $location>> <</link>>
<</if>>"Very good." <<np He>> smiles. "Here's the deal. My medibot here will take those, painless and quick, and in return it will give you a pair of good-quality, functional synthetic eyes. You won't even notice the difference, and through no sacrifice of yours, you'll be five thousand credits richer. What do you say?" <br> <br>
You take a wary look to the medibot in question. It's doubtful at best that its programmed to treat synthetics. <br> <br>
<<link "Take the deal" "Street Market Event Eye Collector Done">> <</link>> | <span style="color:red"> This will replace your eyes. </span> <br>
<<link "Refuse" "Street Market Event Eye Collector No">> <</link>>The <<np name>> stares smiling as the medibot approaches you. Its robotic hand opens into a multitude of medic tools, and without much warning or preparation the surgery begins. <br> <br>
You stand there waiting, feeling the tools dig into your eyesockets, for what feels like an hour. Eventually the medibot manages to disconnect your eyes, and your vision immediately goes black. Soon after the <<np name>> makes a sound of appraisal. <<replaceBody "left eye" StandardEye>> <<replaceBody "right eye" StandardEye>> <br> <br>
"These are very nice indeed." <<np he>> says. "What's the point on giving you these instead of cams? Ah, forget it. They are mine now." <br> <br>
You worry that they will leave you like this after all, until you feel that digging on your eyesockets again. After ten minutes your vision returns, and you notice no obvious difference... aside from a sharp, continous headache. <<loseNeed 0 2400>> <<loseNeed 3 2400>> <br> <br>
"Here's the money." The <<np name>>, holding your eyes on one hand, hands you a chip with the other. As <<np he>> walks away you quickly download the credits into your account. <<gainCred 5000>> <br> <br>
<<passageXP 150>> <br> <br>
<<link "Continue">> <<trauma 500 0>> <<addMemory 6>> <<goto $location>> <</link>>The <<np name>> seems unbothered by your refusal and without a word continues walking. It's quite clear to you that someone else will take that deal anyways. <br> <br> <<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC RichHuman>> <<createNPC StreetRat>>
Suddenly you hear a commotion. A <<np name>> accuses a <<np name 1>> of stealing something of <<np his>>. The <<np name 1>> denies the accusations vehemently, but the <<np name>>'s robotic bodyguards close in. <br> <br>
"I'll find what you stole one way or another." The <<np name>> threatens. The <<np name 1>> stutters as the bots grab <<np his 1>> arms. <br> <br>
<<link "Intervene" "Street Market Event StreetRat Accuse Intervene">> <</link>> <br>
<<link "Walk away" "Street Market Event StreetRat Accuse Ignore">> <<trauma 5 0>> <</link>>You rapidly walk away from the situation. You hear the <<np name 1>>'s screams and walk faster in response. <<loseNeed 3 300>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You quickly walk away. You hear the <<np name 1>>'s screams and walk faster in response. <<loseNeed 3 500>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You stand between the <<np name>> and the <<np name 1>>. <br> <br>
"... and what the hell do you want?" The <<np name>> questions. "Get out of the way." <br> <br>
<<link "Lie and say you saw someone else steal from <<np him>>" "Street Market Event StreetRat Accuse Lie">> <<attCheck 2 9 25 12>> <</link>> <<showCheck 2 9 25>> <br>
<<link "Fight the security bots!">> <<startFight>> <<createEnemy SecurityBot 3>> <<goto 'Fight'>> <<set $aftermath to "Street Market Event StreetRat Accuse Win">> <<set $surrender to "Street Market Event StreetRat Accuse Surrender">> <<set $surrenderDanger to 2>> <</link>><<if $success is 1>> You tell the <<np name>> you saw a hooded figure take <<np his>> belongings and run away. <span style="color:limegreen"> Something in your tone convinces <<np him>>. </span> <br> <br>
"What way?" <<np He>> asks. You point at a random direction and <<np him>> and <<np his>> bots start running. <br> <br>
Out of danger, the <<np name 1>> thanks you profusely. <<gainNeed 3 120>> <br> <br>
"That was really close." <<np He 1>> says. "I really should've been smarter about it..." <<np He 1>> produces the stolen wallet from under <<np his 1>> pants. "Let's go fifty-fifty." <<np He 1>> offers. <br> <br>
You blink shocked as <<np he 1>> gives you a few credit cards and walks away. <<set _ran to random(100, 300)>> <<gainCred _ran>> <br> <br>
<<gainXP 40>> <br> <br>
<<link "Continue">> <<gainFavor StreetRats 4>> <<goto $location>> <</link>>
<<else>>
You tell the <<np name>> you saw a hooded figure take <<np his>> belongings and run away. <span style="color:red"> <<np He>> stares at you, unconvinced. </span> <br> <br>
"Really, now?" <<np He>> asks. "So what did this mysterious figure take?" <br> <br>
You hesitate for long enough to convince <<np him>> you're lying. 'Stop being a bother and walk away, synth." <br> <br>
<<link "Walk away" "Street Market Event StreetRat Accuse Ignore 2">> <</link>> <br>
<<link "Fight the security bots!">> <<startFight>> <<createEnemy SecurityBot 3>> <<goto 'Fight'>> <<set $aftermath to "Street Market Event StreetRat Accuse Win">> <<set $surrender to "Street Market Event StreetRat Accuse Surrender">> <<set $surrenderDanger to 2>> <</link>>
<</if>>As the security bots turn off, nothing stand between you and the <<np name>>, who backs down in terror. <br> <br>
Unfortunately, the fight didn't go unnoticed by the crowd attending the market. Humans whisper among each other and you're certain the police is on the way. Thinking fast, you grab the <<np name 1>>'s arm and run. <br> <br>
"I'll find you both, I swear!" Screams the <<np name>> as both of you get away. Once in a safe spot, the <<np name 1>> punches you in disbelief. <br> <br>
"That... that was awesome!" <<np He 1>> says. "Were you made for combat or something!?" <<np He 1>> produces the stolen wallet from under <<np his 1>> pants. "Here, you deserve all of it." <<np He 1>> offers. <br> <br>
You watch shocked as <<np he 1>> hands you the wallet and walks away. "I'll tell everyone what you did! You're incredible!" <<np He 1>> keeps saying. <<set _ran to random(200, 600)>> <<gainCred _ran>> <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <<gainFavor StreetRats 8>> <</link>>"Piece of trash." The <<np name>> scoffs. "Now stay on the ground while.. where the hell did <<np he 1>> go!?" <br> <br>
You look around. The <<np name 1>> has ran away, taking the opportunity as the bots were distracted on you. <br> <br>
"You have no idea what you just did." The <<np name>> approaches you, furious. "I hope the police gets around to fixing you." <br> <br>
With the bots holding you down, you have no choice but to wait for the police drones to come. <br> <br>
<<passageXP 10>> <br> <br>
<<addCrime 100>>
<<link "Continue" "Police Caught">> <<gainFavor StreetRats 4>> <</link>><<if $streetMarketSus is undefined>> <<set $streetMarketSus to 0>> <</if>>
<<if _passout is undefined>>
You are in the street market of the lower districts of Avone. Humans, synths, bots and more haggle and shout at each other. <br> <br>
<-- <<link "Go back" "Sector D4">> <<passtime 2>> <</link>> <<showTime 2>> <br> <br>
There's no real organization here. There's a few stands, but mostly anyone who wants to sell or buy just screams what they want at the top of their lungs. <br> <br>
<<link "Look around the market">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>>
<br> <br>
<<if $visit.includes("Scrap Shop Visit")>> <<link "Go to Scrap Shop">> <<passtime 10>> <<goto "Scrap Shop Visit">> <</link>> <<showTime 10>> <br> <</if>>
<<if $visit.includes("Weapon Shop Visit")>> <<link "Go to Spiderbot's Shop">> <<passtime 10>> <<goto "Weapon Shop Visit">> <</link>> <<showTime 10>> <br> <</if>>
<</if>><<if _passout is undefined>>
<-- <<link "Go back" "Street Market">> <</link>> <br> <br>
You walk around the street market, making note of every offer you hear.
<<if $streetMarketSus lte 10>> <span style="color:limegreen"> Nobody seems concerned with you. </span>
<<elseif $streetMarketSus lte 30>> <span style="color:yellow"> Some people look at you warily. </span>
<<elseif $streetMarketSus lte 60>> <span style="color:orange"> Lots of people are suspicious of you. </span>
<<else>> <span style="color:red"> Almost everyone keeps a close look on you. </span> <</if>> ($streetMarketSus)
<br> <br>
<<if $dayCycle is "night">> <<set _marketType to "night">> <<else>> <<set _marketType to "day">> <</if>>
<<clearNPC>>
<<for _st to 0; _st lt $streetMarketOptions.length; _st++>> <<capture _st>>
<<print setup.MarketOptions[_marketType][$streetMarketOptions[_st][0]][$streetMarketOptions[_st][1]].text>> <br> <br> <</capture>>
<</for>>
<<link "Keep searching">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>>
<</if>>
<<unset $tradeLevel>>
<<unset $sellAmount>> <<unset $perSell>> <<unset $sellTotal>> <<unset $invSell>> <<unset $idSell>> <<unset $haggleDif>> <<unset $repToGain>> <<unset $flirtDif>> <<unset $flirtResponse>><<if $visit.includes(passage())>>You find the old man's heliship again. <br> <br>
<<link "Trade" "Scrap Shop">> <</link>>
<<else>>
As you search the street market you see a piles and piles of scrap being loaded into a massive heliship. An old man in a hoverchair oversees the workers, both humans and bots. <br> <br>
"This barely covers demand." He shakes his head. "Corporate is gonna take my head. Ey! Synth!" He yells at you. "Spread the word! Any materials you get, I'm buying!"
<br> <br>
<span style="color:gold"> You gain access to the Scrap Shop! </span> <<gainXP 150>> <br> <br>
<<link "Trade" "Scrap Shop">> <</link>> <br>
<<link "Walk away" "Street Market Search">> <</link>> <</if>><-- <<link "Leave" "Street Market">> <</link>> <br> <br>
Dozens of bots work tirelessly to load scrap and other materials into the heliship. <br> <br>
<<link "Sell materials" "Sell Shop">><<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Scrap Shop">>
<<set $shop to [
["Scrap", 5, 1],
["Plastic", 2, 1],
["PowerCell", 25, 1],
["Electronics", 40, 1],
]>>
<</link>><<if $visit.includes(passage())>>You find Spiderbot's tent again. <br> <br>
<<link "Enter the tent" "Weapon Shop">> <</link>>
<<else>> <<clearNPC>> <<createNPC Synth>>
As you wander through the street market you notice a tent guarded by an odd-looking bot with multiple arms, brandishing a different firearm in each hand. Human steer far away from it, but, surprisingly, you see a <<np name>> emerge from inside holding a taser gun. After <<np he>> hands a credit chip to the bot and walks away with a wide smile, you decide to approach. <br> <br>
"Welcome customer." The bot speaks monotonely. You notice a word written with crayon on the bot's forehead: <span style="color:aqua">Spiderbot</span>. "Step inside and take your pick. Humans NOT allowed." <br> <br>
Someone scoffs behind you, but they walk away as the bot's guns buzz with energy. You shift in place, feeling both nervous and curious. <br> <br>
<span style="color:gold"> You gain access to Spiderbot's Shop! </span> <<gainXP 150>> <br> <br>
<<link "Enter the tent" "Weapon Shop">> <</link>> <br>
<<link "Walk away" "Street Market Search">> <</link>> <</if>>Spiderbot guards the entrance to the tent as you browse through the various weapons and gadgets inside. <br> <br>
<-- <<link "Leave" "Street Market">> <</link>> <br> <br>
<<link "See the weapons in sale" "Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Weapon Shop">>
<<set $shop to [
["RustChain", 250, 6],
["Crowbar", 250, 6],
["Whip", 400, 6],
["Blaster", 500, 6],
["RushBooster", 600, 6],
]>>
<</link>> <br>
<<link "See other items in sale" "Shop">><<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Weapon Shop">>
<<set $shop to [
["PepperSpray", 70, 0],
["SmokeBomb", 150, 0],
]>>
<</link>>
<br> <br>
<<link "Repair or sell your equipment" "Weapon Shop Equipment Repair">> <</link>><-- <<link "Back" "Weapon Shop">> <</link>> <br> <br>
<<for _ws to 0; _ws lt setup.WeaponShopItems.length; _ws++>> <<capture _ws>>
<<set _id to setup.WeaponShopItems[_ws].id>> <<capture _id>>
<span data-nokeys="true"><<link "<<= setup[_id].name>> [?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> for <<= setup.WeaponShopItems[_ws].price>> Credits -->
<<if $credit gte setup.WeaponShopItems[_ws].price>>
<<linkreplace "Buy">>
<<link "Confirm?">> <<lootItem 6 _id setup[_id].dura>> <<set $credit -= setup.WeaponShopItems[_ws].price>> <<set $weaponShopList.push(_ws)>> <<goto "Weapon Shop Arms">> <</link>> <</linkreplace>>
<<else>> Buy
<</if>>
<br>
<</capture>>
<</capture>>
<</for>><-- <<link "Back" "Weapon Shop">> <</link>> <br> <br>
<h3> Equipped </h3>
<<for _i to 0; _i lt $equipment.length; _i++>> <<capture _i>>
<<if $equipment[_i] isnot "none">> <div class="cardBox">
<<set _id to $equipment[_i][0]>> <<capture _id>>
<<set _repairCost to Math.trunc(setup[_id].repairCost *(setup[_id].dura -$equipment[_i][1]))>> <<capture _repairCost>>
<<set _sell to Math.clamp(Math.trunc(setup[_id].value *($equipment[_i][1] /setup[_id].dura)), Math.trunc(setup[_id].value *0.1), setup[_id].value)>> <<capture _sell>>
<<= setup[_id].name>> - <<percent $equipment[_i][1] setup[_id].dura green>> <br>
<<if setup[_id].repairCost isnot undefined>>
<<if _repairCost gt 0>>
<<if $credit gte _repairCost>>
<<link "Repair for _repairCost credits" "Weapon Shop Equipment Repair">> <<set $equipment[_i][1] to setup[_id].dura>> <<loseCred _repairCost>> <</link>> -
<<else>> Repair for _repairCost credits - <</if>>
<</if>>
<<else>> This item can't be repaired. -
<</if>>
<<link "Sell for _sell credits" "Weapon Shop Equipment Repair">> <<set $equipment[_i] to "none">> <<gainCred _sell>> <</link>>
<</capture>> <</capture>> <</capture>> </div>
<</if>>
<</capture>>
<</for>>
<h3> Unequipped </h3>
<<for _i to 0; _i lt $inventory[6].length; _i++>> <<capture _i>>
<div class="cardBox">
<<set _id to $inventory[6][_i][0]>> <<capture _id>>
<<set _repairCost to setup[_id].repairCost *(setup[_id].dura -$inventory[6][_i][1])>> <<capture _repairCost>>
<<set _sell to Math.clamp(Math.trunc(setup[_id].value *($inventory[6][_i][1] /setup[_id].dura)), Math.trunc(setup[_id].value *0.1), setup[_id].value)>> <<capture _sell>>
<<= setup[_id].name>> - <<percent $inventory[6][_i][1] setup[_id].dura green>> <br>
<<if setup[_id].repairCost isnot undefined>>
<<if _repairCost gt 0>>
<<if $credit gte _repairCost>>
<<link "Repair for _repairCost credits" "Weapon Shop Equipment Repair">> <<set $inventory[6][_i][1] to setup[_id].dura>> <<loseCred _repairCost>> <</link>> -
<<else>> Repair for _repairCost credits - <</if>>
<</if>>
<<else>> This item can't be repaired. -
<</if>>
<<if setup[_id].noSale is undefined>>
<<link "Sell for _sell credits" "Weapon Shop Equipment Repair">> <<set $inventory[6].deleteAt(_i)>> <<gainCred _sell>> <</link>>
<<else>> This item can't be sold. <</if>>
<</capture>> <</capture>> <</capture>> </div>
<</capture>>
<</for>><<set $tradeLevel to 10>>
<<set $sellAmount to random(10, 30)>> <<set $perSell to random(4, 8)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 1>> <<set $idSell to "Scrap">> <<set $haggleDif to random(15, 22)>> <<set $repToGain to random(4, 8)>> <<set $flirtDif to 30>> <<set $flirtResponse to "serious">>
The <<np name $st>> looks at you. "Got scrap, synth? I need $sellAmount units. I'll pay $sellTotal Credits and not a single one over that." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 12>>
<<set $sellAmount to random(50, 100)>> <<set $perSell to random(3, 6)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 1>> <<set $idSell to "Scrap">> <<set $haggleDif to random(24, 30)>> <<set $repToGain to random(10, 20)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> barely pays you any attention. "I'm paying $sellTotal credits, but unless you got $sellAmount units of scrap you better scram." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 12>>
<<set $sellAmount to random(3, 9)>> <<set $perSell to random(6, 12)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 1>> <<set $idSell to "Scrap">> <<set $haggleDif to random(12, 18)>> <<set $repToGain to random(5, 10)>> <<set $flirtDif to 20>> <<set $flirtResponse to "nervous">>
The <<np name $st>> is desperate to find some good scrap metal. "I need $sellAmount units... please, I can pay $sellTotal credits." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 15>>
<<set $sellAmount to 1>> <<set $perSell to random(90, 160)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 1>> <<set $idSell to "BotCore">> <<set $haggleDif to random(12, 18)>> <<set $repToGain to random(8, 12)>> <<set $flirtDif to 20>> <<set $flirtResponse to "nervous">>
The <<np name $st>> is almost finishing <<np his $st>> companion bot. It just needs a heart. "I can pay $sellTotal credits." the <<np name $st>> nods. "Please." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 10>>
<<set $buyAmount to random(9, 18)>> <<set $perBuy to random(6, 10)>> <<set $buyTotal to $buyAmount *$perBuy>> <<set $invBuy to 1>> <<set $idBuy to "Scrap">> <<set $haggleDif to random(8, 15)>> <<set $repToGain to random(2, 6)>> <<set $flirtDif to 50>> <<set $flirtResponse to "shy">>
The <<np name $st>> blinks at you. "Uh hi." <<np he $st>> says. "I can give you... $buyAmount units. For uh... $buyTotal Credits. Okay? Okay." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 10>>
<<set $sellAmount to random(30, 150)>> <<set $perSell to random(100, 300)>> <<set $sellTotal to Math.trunc(($sellAmount *$perSell) /100)>> <<set $invSell to 1>> <<set $idSell to "Plastic">> <<set $haggleDif to random(18, 26)>> <<set $repToGain to random(10, 15)>> <<set $flirtDif to 30>> <<set $flirtResponse to "lustful">>
The <<np name $st>> won't shut up about <<np his $st>> new business. Eventually <<np he $st>> finally gets to the point. "I just need $sellAmount units of plastic to start. I can pay $sellTotal creds!" <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 10>>
<<set $buyAmount to random(20, 60)>> <<set $perBuy to random(200, 350)>> <<set $buyTotal to Math.trunc(($buyAmount *$perBuy) /100)>> <<set $invBuy to 1>> <<set $idBuy to "Plastic">> <<set $haggleDif to random(8, 15)>> <<set $repToGain to random(2, 6)>> <<set $flirtDif to 50>> <<set $flirtResponse to "shy">>
The <<np name $st>> shows you the trashbags. "Look." <<np he $st>> says. "Lots, lots of plastic. $buyAmount units. I think... $buyTotal Credits and I'll give them to you." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 12>>
<<set $sellAmount to random(2, 5)>> <<set $perSell to random(30, 60)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 1>> <<set $idSell to "PowerCell">> <<set $haggleDif to random(12, 18)>> <<set $repToGain to random(10, 15)>> <<set $flirtDif to 20>> <<set $flirtResponse to "nervous">>
The <<np name $st>> needs working power cells: the ones <<np he $st>> is holding are useless, <<np he $st>> says. "I need $sellAmount units... please, I can pay $sellTotal credits." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 15>>
<<set $sellAmount to random(1, 1)>> <<set $perSell to random(25, 50)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 2>> <<set $idSell to "MetalToy">> <<set $haggleDif to random(10, 15)>> <<set $repToGain to random(6, 12)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> looks at you curiously. "I'm just so surprised your type can make something similar to art. I'll buy one of your metal crafts for $sellTotal creds." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 15>>
<<set $sellAmount to random(4, 12)>> <<set $perSell to random(10, 20)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 2>> <<set $idSell to "PlasticToy">> <<set $haggleDif to random(8, 12)>> <<set $repToGain to random(15, 30)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> sighs. "People nowadays are only interested in artificial art. I'll buy $sellAmount of your plastic thingies for $sellTotal creds." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 15>>
<<set $sellAmount to 1>> <<set $perSell to random(50, 200)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 2>> <<set $idSell to "OldPhone">> <<set $haggleDif to random(10, 30)>> <<set $repToGain to random(8, 12)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> is looking for an old phone for <<np his $st>> collection. "I can pay $sellTotal credits." <<np He $st>> says. <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 15>>
<<set $sellAmount to 1>> <<set $perSell to random(50, 200)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 2>> <<set $idSell to "OldClock">> <<set $haggleDif to random(10, 30)>> <<set $repToGain to random(8, 12)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> is looking for an old clock for <<np his $st>> collection. "I can pay $sellTotal credits." <<np He $st>> says. <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 35>>
<<set $sellAmount to 1>> <<set $perSell to random(300, 600)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 2>> <<set $idSell to "Jewelry">> <<set $haggleDif to random(12, 30)>> <<set $repToGain to random(15, 20)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> is looking for any jewelry. "I can pay $sellTotal credits." <<np He $st>> says. <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 15>>
<<set $buyAmount to random(3, 6)>> <<set $perBuy to random(100, 200)>> <<set $buyTotal to ($buyAmount *$perBuy)>> <<set $invBuy to 0>> <<set $idBuy to "AphroPill">> <<set $haggleDif to random(15, 20)>> <<set $repToGain to random(6, 12)>> <<set $flirtDif to 50>> <<set $flirtResponse to "lustful">>
The <<np name $st>> shows you a tablet of $buyAmount pink pills. "You might need these." <<np He $st>> laughs. "They'll make you feel better while you're getting used... $buyTotal credits for the lot." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 15>>
<<set $buyAmount to 1>> <<set $perBuy to random(200, 400)>> <<set $buyTotal to ($buyAmount *$perBuy)>> <<set $invBuy to 0>> <<set $idBuy to either("StrengthVial", "EnduranceVial", "CharismaVial", "IntellectVial", "DexterityVial")>> <<set $haggleDif to random(15, 20)>> <<set $repToGain to random(6, 12)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> shows you a <<= setup[$idBuy].name>>. "$buyTotal credits for this one." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 30>>
<<set $buyAmount to 100>> <<set $buyTotal to random(500, 1000)>> <<set $invBuy to 3>> <<set $idBuy to "DiamondNecklace">> <<set $haggleDif to random(20, 40)>> <<set $repToGain to random(10, 20)>> <<set $flirtDif to 20>> <<set $flirtResponse to "lustful">>
The <<np name $st>> smiles as soon as you approach and produces a beautiful <<= setup[$idBuy].name>>. "This one will look great on you." <<np He $st>> says. "Only $buyTotal credits..." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 20>>
<<set $buyAmount to 100>> <<set $buyTotal to random(300, 600)>> <<set $invBuy to 6>> <<set $idBuy to setup.equipment.any.Uncommon.random()>> <<set $haggleDif to random(12, 20)>> <<set $repToGain to random(20, 40)>> <<set $flirtDif to 60>> <<set $flirtResponse to "serious">>
The <<np name $st>> shows you <span data-nokeys="true"> <<link "<<= setup[$idBuy].name>> [?]">> <<dialog>> <<set _id to $idBuy>> <<itemDesc>> <</dialog>> <</link>>. </span> "$buyTotal credits." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 20>>
<<set $buyAmount to 1>> <<set $buyTotal to random(300, 500)>> <<set $invBuy to 0>> <<set $idBuy to "IcarusRepairKit">> <<set $haggleDif to random(20, 40)>> <<set $repToGain to random(20, 40)>> <<set $flirtDif to 50>> <<set $flirtResponse to "hostile">>
The <<np name $st>> shows you the <span data-nokeys="true"> <<link "<<= setup[$idBuy].name>> [?]">> <<dialog>> <<= setup[$idBuy].desc>> <</dialog>> <</link>>. </span> "Useless to me now." <<np He $st>> sneers as if it was your fault. "Invested so much for nothing. I'm selling this for $buyTotal credits because otherwise I'll starve." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 20>>
<<set $stealAmount to random(5, 10)>> <<set $invSteal to 1>> <<set $idSteal to "Scrap">> <<set $crimeToGain to $stealAmount *3>> <<set $stealDif to random(15, 22)>>
You approach the <<np name $st>>. <<np He $st>> is snoring, leaving <<np his $st>> $stealAmount units of scrap metal unguarded. <br> <br>
<<include "Street Market Steal Options">><<set $tradeLevel to 20>>
<<set $stealAmount to random(15, 30)>> <<set $invSteal to 1>> <<set $idSteal to "Plastic">> <<set $crimeToGain to $stealAmount>> <<set $stealDif to random(16, 25)>>
You approach the <<np name $st>>. <<np He $st>> is trying to convince another customer, leaving <<np his $st>> $stealAmount units of plastic unguarded. <br> <br>
<<include "Street Market Steal Options">>
/* FROM THIS POINT ON ITS NON-TRADE EVENTS */You approach the spot where the <<np name $st>> hybrid is giving away nectar samples. <<np His>> hands are submerged on a vat full of the sweet viscous substance. It appears a few humans took a little too much, and they lounge drunkenly nearby, confused but satisfied. <br> <br>
"Don't you worry about them." The <<np name $st>> says in a melodious tone. <<np He $st>> smiles at you. "Do you want a taste too? I'm not sure how well it works on synths... but we can find out, if you dare..." <br> <br>
<<link "Have a taste" "Street Market Nectar Sample Drink">> <</link>> <<lewdTip>> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>>You tell the <<np name $st>> you'd like to have a taste. <<playerPersonality Lewd 3>> <br> <br>
"Wonderful." <<np He $st>> says. Slowly <<np he $st>> rises <<np his $st>> right hand from the nectar vat, scooping a generous amount of the liquid. "Open up~" <br> <br>
Blinking you open your mouth. <<np He $st>> moves closer, raising <<np his $st>> hand above you and slowly letting the nectar drip inside. The first taste makes you blink again. It's so sweet... you don't realize when you start, but soon you are licking <<np his $st>> fingers clean. <<nectar 900>> <br> <br>
"There you go." The <<np name $st>> laughs as <<np he $st>> pushes <<np his $st>> fingers inside. "Clearly it works on synths too..." <br> <br>
You manage to regain control over yourself and take a step back. The <<np name $st>> almost looks disappointed. <br> <br>
"Come again any time~" <br> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>><<set _npc to $npc[$st]>> <<set $npc to []>> <<set $npc.push(_npc)>>
The <<np name>> is preparing <<np his>> massage chair for <<np his>> next client, and smiles when you approach. <br> <br>
"Oh- hi!" <<np He>> hesitates. "You want a massage...? Usually only humans do... but I guess the gel works on us too." <br> <br>
<<np He>> shows you a pair of bottles <<np he>> has hidden under the chair, both filled with pink massage oil. <br> <br>
"I use these. Sensitivity boosters. I'm... not really that good at giving massages. But with these nobody can tell the difference! You wanna try? It's only 50 creds." <br> <br>
<<if $credit gte 50>>
<<link "Accept" "Street Market Synth Massage 1">> <<passtime 30>> <</link>> <<payTip 50>> <<lewdTip>> <br> <</if>>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>>You accept and transfer the credits. <<playerPersonality Lewd 2>> <<loseCred 50>> <br> <br>
The <<np name>> guides you to sit on the elevated chair. You feel strangely vulnerable as <<np he>> stands behind you. <br> <br>
"Please lean forward a bit." <<np He>> asks.
<<if $playerStat.UpperCover lt 10>> "It's good you don't have anything on already." <<np He>> notes. <<playerExposed 200>> <br> <br>
<<else>>
"Can you lift your arms? Need to take off everything above your waist." You slowly lift your arms and <<np he>> helps you take off your clothing. <<playerExposed 200>> <br> <br>
<</if>>
You hear <<np him>> open a bottle and take a generous amount of oil. <<np He>> suddenly puts both <<np his>> hands on your shoulders, and you gasp from the cold sensation. <br> <br>
"Relax, okay?" <<np He>> says as <<np he>> applies the oil to your skin and slowly starts the massage. <br> <br>
As the <<np name>> massages your shoulders the oil's effects get stronger, amplifying every sensation. You slowly doze off, focused only on the feeling of <<np his>> hands on your now sensitive skin. You stifle a moan... <<set $forced to 0>> <<playerStim 20 skin>> <<gainNeg 5 600>> <<gainNeed 3 1300>> <br> <br>
<<if _playerOrgasm is undefined>>
Eventually the <<np name>> stops. "You'll get too sensitive if I keep going." <<np He>> explains. "I- I'm glad you enjoyed it." <br> <br>
Shaking a bit you stand up and thank the <<np name>>, who is wide eyed staring at the floor. You figure you liked it more than <<np he>> expected... A little embarrased, you walk away. <br> <br>
<<else>>
"Oh- uhm." The <<np name>> rambles as you shake in orgasm. "T-that's normal- don't worry, just... just relax." <br> <br>
You close your eyes, relaxed... a little later <<np he>> stops. <br> <br> "Y-you'll get too sensitive if I keep going..." <<np He>> explains, not looking at you. <br> <br>
Shaking a bit you stand up and thank the <<np name>>, who is still unable to look at you. A little embarrased, you walk away. <br> <br>
<</if>>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>><<set $tradeLevel to 15>>
<<set $buyAmount to random(25, 65)>> <<set $perBuy to random(6, 13)>> <<set $buyTotal to $buyAmount *$perBuy>> <<set $invBuy to 1>> <<set $idBuy to "Scrap">> <<set $haggleDif to random(15, 20)>> <<set $repToGain to random(10, 15)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> side-eyes you. "What do <em>you</em> need scrap for?" <<np he $st>> says. "I'm selling $buyAmount units, $buyTotal Credits, take it or leave it." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 20>>
<<set $buyAmount to random(5, 15)>> <<set $perBuy to random(50, 100)>> <<set $buyTotal to $buyAmount *$perBuy>> <<set $invBuy to 1>> <<set $idBuy to "PowerCell">> <<set $haggleDif to random(15, 20)>> <<set $repToGain to random(20, 40)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> sneers at you. "I reckon you'd need these." <<np he $st>> says. "I'm selling $buyAmount power cells, $buyTotal Credits." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 30>>
<<set $buyAmount to random(40, 90)>> <<set $buyTotal to Math.trunc(random(1000, 1500) *($buyAmount /100))>> <<set $invBuy to 4>> <<set $idBuy to setup.commonBodyParts.random()>> <<set $haggleDif to random(12, 20)>> <<set $repToGain to random(30, 60)>> <<set $flirtDif to 50>> <<set $flirtResponse to "lustful">>
The <<np name $st>> smiles and opens a box, showing you <span data-nokeys="true"> <<link "<<= setup[$idBuy].name>> [?]">> <<dialog>> <<set _id to $idBuy>> <<itemDesc>> <</dialog>> <</link>> <<percent $buyAmount setup[$idBuy].dura green>>. </span> "$buyTotal credits. What you say?" <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 50>>
<<set $buyAmount to random(40, 90)>> <<set $buyTotal to Math.trunc(random(1500, 3000) *($buyAmount /100))>> <<set $invBuy to 4>> <<set $idBuy to setup.uncommonBodyParts.random()>> <<set $haggleDif to random(15, 25)>> <<set $repToGain to random(70, 100)>> <<set $flirtDif to 50>> <<set $flirtResponse to "lustful">>
The <<np name $st>> looks around, then shows you the item: <span data-nokeys="true"> <<link "<<= setup[$idBuy].name>> [?]">> <<dialog>> <<set _id to $idBuy>> <<itemDesc>> <</dialog>> <</link>> <<percent $buyAmount setup[$idBuy].dura green>>. </span> "Ya like this thing? $buyTotal Credits and its yours." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 10>>
<<set $sellAmount to random(3, 6)>> <<set $perSell to random(30, 70)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 0>> <<set $idSell to "Candy">> <<set $haggleDif to random(5, 8)>> <<set $repToGain to random(4, 8)>> <<set $flirtDif to 20>> <<set $flirtResponse to "nervous">>
The <<np name $st>> is desperate for some candy. "I just need $sellAmount doses... then I won't need it anymore. I swear, I swear. I'll pay $sellTotal credits." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 15>>
<<set $sellAmount to 1>> <<set $perSell to random(100, 300)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 0>> <<set $idSell to "RoidPen">> <<set $haggleDif to random(12, 28)>> <<set $repToGain to random(8, 12)>> <<set $flirtDif to 50>> <<set $flirtResponse to "hostile">>
The <<np name $st>> glares at you. "I'm just looking for a dose, I'll pay $sellTotal creds. If you don't have one then fuck off." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 15>>
<<set $sellAmount to random(2, 5)>> <<set $perSell to random(40, 100)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 2>> <<set $idSell to "MutantGrowth">> <<set $haggleDif to random(10, 20)>> <<set $repToGain to random(6, 10)>> <<set $flirtDif to 30>> <<set $flirtResponse to "serious">>
The <<np name $st>> needs some samples of mutant growth to continue <<np his $st>> research. "I need about $sellAmount units, and I'll pay $sellTotal credits." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 25>>
<<set $sellAmount to random(5, 15)>> <<set $perSell to random(60, 120)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 1>> <<set $idSell to "Electronics">> <<set $haggleDif to random(10, 25)>> <<set $repToGain to random(12, 20)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> needs some electronics. "About $sellAmount units. I can pay $sellTotal credits." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 20>>
<<set $buyAmount to 100>> <<set $buyTotal to random(400, 800)>> <<set $invBuy to 5>> <<set $idBuy to weightedEither(setup.RandomNode)>> <<set $haggleDif to random(12, 20)>> <<set $repToGain to random(20, 40)>> <<set $flirtDif to 50>> <<set $flirtResponse to "serious">>
The <<np name $st>> shows you <span data-nokeys="true"> <<link "<<= setup[$idBuy].name>> [?]">> <<dialog>> <<set _id to $idBuy>> <<itemDesc>> <</dialog>> <</link>>. </span> "$buyTotal credits." <br> <br>
<<include "Street Market Buy Options">><<set $tradeLevel to 20>>
<<set $sellAmount to 1>> <<set $perSell to random(300, 500)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 2>> <<set $idSell to "BotCumCanister">> <<set $haggleDif to random(15, 30)>> <<set $repToGain to random(12, 20)>> <<set $flirtDif to 1>> <<set $flirtResponse to "lustful">>
The <<np name $st>> really wants a canister of synthetic cum. "Just for recreational purposes..." <<np He $st>> laughs obnoxiously. "I'll pay $sellTotal credits." <br> <br>
<<include "Street Market Sell Options">><<set $tradeLevel to 30>>
<<set $sellAmount to 1>> <<set $perSell to random(500, 800)>> <<set $sellTotal to $sellAmount *$perSell>> <<set $invSell to 1>> <<set $idSell to "BrokenHolopad">> <<set $haggleDif to random(15, 30)>> <<set $repToGain to random(15, 25)>> <<set $flirtDif to 50>> <<set $flirtResponse to "hostile">>
The <<np name $st>> is looking for a holopad to repair. "I'll pay $sellTotal credits." <<np He>> sneers at you. <br> <br>
<<include "Street Market Sell Options">><<set _dif to Math.trunc(12 *(1 +($streetMarketSus /100)))>> <<set _dif2 to _dif *2>>
The <<np name $st>> is arguing with someone on a phone, leaving <<np him $st>> and <<np his $st>> pockets vulnerable to you. <br> <br>
<<if $perkMoves.includes("StealMove")>>
<<if $power gte 5>> <<link "Steal credits">> <<attCheck 4 0 _dif 10>> <<streetMarketSus 1>> <<if $success is 1>> <<set $steal to 0>> <<goto "Street Market Pickpocket Poor Win">> <<else>> <<goto "Street Market Pickpocket Poor Lose">> <</if>> <<set $power -= 5>> <</link>> <<crimeTip>> | <<showCheck 4 0 _dif>> - <<skillTip Hacking>> - <span style="color:orange"> 5 Core Power </span> <<else>> <span style="color:orange">Not enough Core Power to hack credits.</span> <</if>> <br> <</if>>
<<link "Pickpocket">> <<attCheck 4 0 _dif2 12>> <<streetMarketSus 1>> <<if $success is 1>> <<set $steal to 1>> <<goto "Street Market Pickpocket Poor Win">> <<else>> <<goto "Street Market Pickpocket Poor Lose">> <</if>> <</link>> <<crimeTip>> | <<showCheck 4 0 _dif2>> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <</link>><<addCrime 10>>
<<if $steal is 0>>
The <<np name $st>> remains clueless as you drain <<np his $st>> bank account. <<skillRandom Hacking 15 30 2>> <<gainCred _ran>> <<gainSkill Hacking 10 20>> <br> <br>
<<else>>
You deftly slip your hand into the <<np name $st>>'s pocket without <<np him $st>> noticing.
<<pickpocket HumanPocket>>
<</if>>
<<passageXP 10>> <br> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <</link>>You try to sneak behind the <<np name $st>>, but <<np he $st>> suddenly turns around and catches you in the act. <br> <br>
"What the hell are you doing, clanker?" <<np He $st>> shouts, making more than a few heads turn in your direction. "Get the hell away from me!" <br> <br>
You don't think twice and run away before things get worse. <<streetMarketSus 4>> <br> <br>
<<passageXP 10>> <br> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <</link>><<set _dif to Math.trunc(10 *(1 +($streetMarketSus /100)))>> <<set _dif2 to _dif *2>>
The <<np name $st>> is fast asleep, leaving <<np him $st>> and <<np his $st>> pockets vulnerable to you. <br> <br>
<<if $perkMoves.includes("StealMove")>>
<<if $power gte 5>> <<link "Steal credits">> <<attCheck 4 0 _dif 10>> <<streetMarketSus 1>> <<if $success is 1>><<set $steal to 0>><<goto "Street Market Pickpocket Sleep Win">> <<else>> <<goto "Street Market Pickpocket Sleep Lose">> <</if>> <<set $power -= 5>> <</link>> <<crimeTip>> | <<showCheck 4 0 _dif>> - <<skillTip Hacking>> - <span style="color:orange"> 5 Core Power </span> <<else>> <span style="color:orange">Not enough Core Power to hack credits.</span> <</if>> <br> <</if>>
<<link "Pickpocket">> <<attCheck 4 0 _dif2 12>> <<streetMarketSus 1>> <<if $success is 1>> <<set $steal to 1>><<goto "Street Market Pickpocket Sleep Win">> <<else>> <<goto "Street Market Pickpocket Sleep Lose">> <</if>> <</link>> <<crimeTip>> | <<showCheck 4 0 _dif2>> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <</link>><<addCrime 10>>
<<if $steal is 0>>
The <<np name $st>> remains clueless as you drain <<np his $st>> bank account. <<skillRandom Hacking 25 50 2>> <<gainCred _ran>> <<gainSkill Hacking 10 20>> <br> <br>
<<else>>
You manage to slip your hand into the <<np name $st>>'s pocket without waking <<np him $st>> up.
<<pickpocket HumanPocket>>
<</if>>
<<passageXP 15>> <br> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <</link>>The <<np name $st>> suddenly wakes up as you approach. <br> <br>
"F-fucking pervert synth!" <<np He $st>> says in shock, shocking you in turn. "What did you want to do to me? Get away!" <br> <br>
You don't think twice and run away before things get worse. <<streetMarketSus 4>> <br> <br>
<<passageXP 10>> <br> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <</link>><<set _dif to Math.trunc(20 *(1 +($streetMarketSus /100)))>> <<set _dif2 to _dif *2>>
The <<np name $st>> hybrid is focused comparing two firearms, frowning. <br> <br>
<<if $perkMoves.includes("StealMove")>>
<<if $power gte 5>> <<link "Steal credits">> <<attCheck 4 0 _dif 10>> <<streetMarketSus 1>> <<if $success is 1>><<set $steal to 0>><<goto "Street Market Pickpocket Wolf Win">> <<else>> <<goto "Street Market Pickpocket Wolf Lose">> <</if>> <<set $power -= 5>> <</link>> <<crimeTip>> | <<showCheck 4 0 _dif>> - <<skillTip Hacking>> - <span style="color:orange"> 5 Core Power </span> <<else>> <span style="color:orange">Not enough Core Power to hack credits.</span> <</if>> <br> <</if>>
<<link "Pickpocket">> <<attCheck 4 0 _dif2 12>> <<streetMarketSus 1>> <<if $success is 1>> <<set $steal to 1>><<goto "Street Market Pickpocket Wolf Win">> <<else>> <<goto "Street Market Pickpocket Wolf Lose">> <</if>> <</link>> <<crimeTip>> | <<showCheck 4 0 _dif2>> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <</link>><<addCrime 10>>
<<if $steal is 0>>
The <<np name $st>> doesn't notice you draining <<np his $st>> bank account. <<skillRandom Hacking 40 80 2>> <<gainCred _ran>> <<gainSkill Hacking 10 20>> <br> <br>
<<else>>
You manage to slip your hand into the <<np name $st>>'s bag without alerting <<np him $st>>.
<<pickpocket WolfPocket>>
<</if>>
<<passageXP 15>> <br> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <</link>>The <<np name $st>> suddenly turns around and grips your wrist. <br> <br>
<<if $scentMarked is undefined>>
"Stupid little thing." <<np He $st>> growls. You suddenly feel cold. "Let me teach you a lesson." <br> <br>
<<set _save to $npc[$st]>> <<set $npc to []>> <<set $npc.push(_save)>>
<<link "Defend yourself!">> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Wolf Attack Win">> <<set $surrender to weightedEither(setup.WolfSurrender)>> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>>
<<else>>
"Stupid little thing." <<np He $st>> growls, then sniffs the air. "You're lucky someone marked you already." <br> <br>
<<np He $st>> lets you go and you don't waste time getting away. <br> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <</link>>
<</if>><<widget "buildStreetMarket">>
<<if $dayCycle is "night">> <<set _marketType to "night">> <<else>> <<set _marketType to "day">> <</if>>
<<if $streetMarketSearch is undefined>> <<set $streetMarketSearch to 0>> <<else>> <<set $streetMarketSearch += 1>> <</if>>
<<clearNPC>> <<set $streetMarketOptions to []>>
<<set _optionList to [ [], [], [], [] ]>>
<<mult 3>> <<set _st to $npc.length>> <<capture _st>>
<<set _rarityPool to {
common: 270,
uncommon: 90,
rare: 30,
veryRare: 10,
}>>
<<set _rarity to weightedEither(_rarityPool)>>
<<if _rarity is "common">>
<<if setup.MarketOptions[_marketType][0].length isnot undefined and setup.MarketOptions[_marketType][0].length gt 0>> <<set _reject to 1>>
<<for _reject is 1>> <<set _add to random(0, setup.MarketOptions[_marketType][0].length -1)>> <<set _reject to 0>>
<<= setup.MarketOptions[_marketType][0][_add].add>>
<<if _optionList[0].includes(_add)>> <<set _reject to 1>> <</if>>
<</for>> <<set _optionList[0].push(_add)>> <<set $streetMarketOptions.push([0, _add])>> <</if>>
<<elseif _rarity is "uncommon">>
<<if setup.MarketOptions[_marketType][1].length isnot undefined and setup.MarketOptions[_marketType][1].length gt 0>> <<set _reject to 1>>
<<for _reject is 1>> <<set _add to random(0, setup.MarketOptions[_marketType][1].length -1)>> <<set _reject to 0>>
<<= setup.MarketOptions[_marketType][1][_add].add>>
<<if _optionList[1].includes(_add)>> <<set _reject to 1>> <</if>>
<</for>> <<set _optionList[1].push(_add)>> <<set $streetMarketOptions.push([1, _add])>> <</if>>
<<elseif _rarity is "rare">>
<<if setup.MarketOptions[_marketType][2].length isnot undefined and setup.MarketOptions[_marketType][2].length gt 0>> <<set _reject to 1>>
<<for _reject is 1>> <<set _add to random(0, setup.MarketOptions[_marketType][2].length -1)>> <<set _reject to 0>>
<<= setup.MarketOptions[_marketType][2][_add].add>>
<<if _optionList[2].includes(_add)>> <<set _reject to 1>> <</if>>
<</for>> <<set _optionList[2].push(_add)>> <<set $streetMarketOptions.push([2, _add])>> <</if>>
<<elseif _rarity is "veryRare">>
<<if setup.MarketOptions[_marketType][3].length isnot undefined and setup.MarketOptions[_marketType][3].length gt 0>> <<set _reject to 1>>
<<for _reject is 1>> <<set _add to random(0, setup.MarketOptions[_marketType][3].length -1)>> <<set _reject to 0>>
<<= setup.MarketOptions[_marketType][3][_add].add>>
<<if _optionList[3].includes(_add)>> <<set _reject to 1>> <</if>>
<</for>> <<set _optionList[3].push(_add)>> <<set $streetMarketOptions.push([3, _add])>> <</if>>
<</if>>
<br> <br>
<</capture>> <</mult>>
<</widget>>
<<widget "streetMarketSus">>
<<set $streetMarketSus to Math.clamp($streetMarketSus +_args[0], 0, 100)>>
<</widget>><<set $tradeName to passage()>> <<set $timesHaggled to 0>> <<set $timesFlirted to 0>>
<<haveItem $invSell $idSell $sellAmount>> <<if _has isnot "no">> <span style="color:limegreen"> You have x<<= $inventory[$invSell][_has][1]>> <<= setup[$idSell].name>>. </span>
<<link "Take the deal" "Street Market Sell Accept">> <<set $message.push("<<gainRep 2 $repToGain>>")>> <</link>> <br>
<<if $timesHaggled lt 3>>
<<link "Haggle to increase price" "Street Market Sell Haggle">> <<set $timesHaggled += 1>> <<attCheck 2 0 $haggleDif 8>> <<set $haggleDif to Math.trunc($haggleDif *1.5)>> <</link>> <<showCheck 2 0 $haggleDif>>
<br> <</if>>
<<if $personality.Lewd gte 10 and $timesFlirted lt 1>>
<<link "Flirt casually" "Street Market Sell Flirt">> <<set $timesFlirted += 1>> <<seductionCheck 0 $flirtDif>> <</link>> <<showSeduction 0 $flirtDif>>
<br> <</if>>
<<else>> <span style="color:orange">You don't have what <<np he $st>> is asking for. </span> <br>
<</if>>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>><<streetMarketSus -1>>
You accept the <<np name $st>>'s deal and give <<np him $st>> the stuff. <<loseItem $invSell $idSell $sellAmount>> <<haveItem $invSell $idSell $sellAmount>> <<if _has isnot "no">> <span style="color:limegreen"> You are left with x<<= $inventory[$invSell][_has][1]>> <<= setup[$idSell].name>>. </span> <<else>> <span style="color:orange">You are left without any <<= setup[$idSell].name>> left. </span> <</if>> <<gainCred $sellTotal>> <br> <br>
<<if $tradesDone.includes($tradeName) is false>> <<set _xpGained to $tradeLevel *4>> <<gainXP _xpGained>> <<set $tradesDone.push($tradeName)>> <<else>> <<gainXP $tradeLevel>> <</if>> <br> <br>
<<link "Keep searching">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Continue" "Street Market">> <<clearNPC>> <</link>><<if $success is 1>> You convince the <<np name $st>> to pay more. Price goes from $sellTotal to <<set $sellTotal to Math.trunc($sellTotal *(1.15 +(Math.trunc($rep[2], 0, 3) /30)))>> $sellTotal (for <<= setup[$idSell].name>> x$sellAmount). <br> <br>
<<haveItem $invSell $idSell $sellAmount>> <<if _has isnot "no">> <span style="color:limegreen"> You have x<<= $inventory[$invSell][_has][1]>> <<= setup[$idSell].name>>. </span>
<<link "Take the deal" "Street Market Sell Accept">> <<set $message.push("<<gainRep 2 $repToGain>>")>> <</link>> <br>
<<if $timesHaggled lt 3>>
<<link "Haggle to increase price" "Street Market Sell Haggle">> <<set $timesHaggled += 1>> <<attCheck 2 0 $haggleDif 8>> <<set $haggleDif to Math.trunc($haggleDif *1.5)>> <</link>> <<showCheck 2 0 $haggleDif>>
<br>
<<else>> <span style="color:orange"> The <<np name $st>> won't haggle anymore. </span> <br>
<</if>>
<<if $personality.Lewd gte 10 and $timesFlirted lt 1>>
<<link "Flirt casually" "Street Market Sell Flirt">> <<set $timesFlirted += 1>> <<seductionCheck 0 $flirtDif>> <</link>> <<showSeduction 0 $flirtDif>>
<br> <</if>>
<<else>> <span style="color:orange">You don't have what <<np he $st>> is asking for. </span> <br>
<</if>>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>>
<<else>> You fail to convince the <<np name $st>>! <<np he $st>> decides to find someone else. <br> <br>
<<link "Keep searching">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Continue" "Street Market">> <<clearNPC>> <</link>>
<</if>><<set $tradeName to passage()>> <<set $timesHaggled to 0>> <<set $timesFlirted to 0>>
<<if $credit gte $buyTotal>>
<<link "Take the deal" "Street Market Buy Accept">> <<set $message.push("<<gainRep 2 $repToGain>>")>> <<lootItem $invBuy $idBuy $buyAmount>> <</link>> <br>
<<else>> <span style="color:orange">You don't have enough credits. </span> <br> <</if>>
<<if $timesHaggled lt 3>>
<<link "Haggle to decrease price" "Street Market Buy Haggle">> <<set $timesHaggled += 1>> <<attCheck 2 0 $haggleDif 8>> <<set $haggleDif to Math.trunc($haggleDif *1.5)>> <</link>> <<showCheck 2 0 $haggleDif>> <br>
<</if>>
<<if $personality.Lewd gte 10 and $timesFlirted lt 1>>
<<link "Flirt casually" "Street Market Buy Flirt">> <<set $timesFlirted += 1>> <<seductionCheck 0 $flirtDif>> <</link>> <<showSeduction 0 $flirtDif>>
<br> <</if>>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>><<streetMarketSus -1>>
You accept the <<np name $st>>'s deal and give <<np him $st>> the credits. <<loseCred $buyTotal>> <br> <br>
<<if $tradesDone.includes($tradeName) is false>> <<set _xpGained to $tradeLevel *4>> <<gainXP _xpGained>> <<set $tradesDone.push($tradeName)>> <<else>> <<gainXP $tradeLevel>> <</if>> <br> <br>
<<link "Keep searching">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Continue" "Street Market">> <<clearNPC>> <</link>><<if $success is 1>> You convince the <<np name $st>> to lower the price. Price goes from $buyTotal to <<set $buyTotal to Math.trunc($buyTotal *0.85)>> <<set $buyTotal to Math.trunc($buyTotal *(1 -(Math.clamp($rep[2], 0, 3) /30)))>> $buyTotal (for <<= setup[$idBuy].name>> <<if setup[$idBuy].nonStack is undefined>> x$buyAmount <<else>> <<percent $buyAmount setup[$idBuy].dura green>> <</if>>). <br> <br>
<<if $credit gte $buyTotal>>
<<link "Take the deal" "Street Market Buy Accept">> <<set $message.push("<<gainRep 2 $repToGain>>")>> <<lootItem $invBuy $idBuy $buyAmount>> <</link>> <br>
<<else>> <span style="color:orange">You don't have enough credits. </span> <br> <</if>>
<<if $timesHaggled lt 3>>
<<link "Haggle to decrease price" "Street Market Buy Haggle">> <<set $timesHaggled += 1>> <<attCheck 2 0 $haggleDif 8>> <<set $haggleDif to Math.trunc($haggleDif *1.5)>> <</link>> <<showCheck 2 0 $haggleDif>> <br>
<<else>> <span style="color:orange"> The <<np name $st>> won't haggle anymore. </span> <br>
<</if>>
<<if $personality.Lewd gte 10 and $timesFlirted lt 1>>
<<link "Flirt casually" "Street Market Buy Flirt">> <<set $timesFlirted += 1>> <<seductionCheck 0 $flirtDif>> <</link>> <<showSeduction 0 $flirtDif>>
<br> <</if>>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>>
<<else>> You fail to convince the <<np name $st>>! <<np he $st>> decides to find someone else. <br> <br>
<<link "Keep searching">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Continue" "Street Market">> <<clearNPC>> <</link>>
<</if>><<set $stealDif to Math.trunc($stealDif *(1 +($streetMarketSus /50)))>>
<<set $tradeName to passage()>>
<<link "Try to steal" "Street Market Steal Attempt">> <<attCheck 4 0 $stealDif 12>> <<set $stealDif to Math.trunc($stealDif *1.5)>> <<addCrime $crimeToGain>> <<if $success is 1>> <<lootItem $invSteal $idSteal $stealAmount>> <</if>> <</link>> <<crimeTip>> | <<showCheck 4 0 $stealDif>> <br>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>><<if $success is 1>> You succesfully steal without the <<np name $st>> noticing! <<streetMarketSus 1>> <br> <br>
<<gainXP $tradeLevel>> <br> <br>
<<link "Keep searching">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Continue" "Street Market">> <<clearNPC>> <</link>>
<<else>>
<span style="color:red"> You got caught by a security drone. </span> <<streetMarketSus 5>> It starts flying in your direction, blasting an alarm. <br> <br>
<<link "Run!" "Street Market Security Run">> <<attCheck 4 10 30 10>> <</link>> <<showCheck 4 10 30>>
<</if>><<if $success is 1>> The security drone loses you among the crowd! <br> <br> <<link "Continue">> <<goto $location>> <<clearNPC>> <</link>>
<<else>> The security drone catches up to you in an alley! You're completeley cornered, but here you might stand a chance to fight back without being interrupted... <br> <br>
<<link "Defend yourself!">> <<startFight>> <<createEnemy SecurityDrone 1>> <<goto 'Fight'>> <<set $aftermath to "Street Market Security Run Win">> <<set $surrender to "Street Market Security Run Surrender">> <<set $surrenderDanger to 2>> <</link>>
<</if>>As the security drone turns off and crashes against a wall, you take the opportunity to run away. <br> <br>
<<link "Continue">> <<buildStreetMarket>> <<goto $location>> <</link>>Defeated, you can't resist as the drone restrains you. You can only wait until the police arrives. <br> <br>
<<addCrime 10>>
<<link "Continue" "Police Caught">> <</link>>You flirt with the <<np name $st>> a little, hoping to gain <<np his>> trust.
<<include "Flirt Response">>
<br> <br>
<<if _reject is undefined>>Price is $sellTotal credits (for <<= setup[$idSell].name>> x$sellAmount). <br> <br>
<<haveItem $invSell $idSell $sellAmount>> <span style="color:limegreen"> You have x<<= $inventory[$invSell][_has][1]>> <<= setup[$idSell].name>>. </span>
<<link "Take the deal" "Street Market Sell Accept">> <<set $message.push("<<gainRep 2 $repToGain>>")>> <</link>> <br>
<<if $timesHaggled lt 3>>
<<link "Haggle to increase price" "Street Market Sell Haggle">> <<set $timesHaggled += 1>> <<attCheck 2 0 $haggleDif 8>> <<set $haggleDif to Math.trunc($haggleDif *1.5)>> <</link>> <<showCheck 2 0 $haggleDif>>
<br>
<<else>> <span style="color:orange"> The <<np name $st>> won't haggle anymore. </span> <br>
<</if>>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>>
<<else>>
<<link "Keep searching">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Continue" "Street Market">> <<clearNPC>> <</link>>
<</if>>You flirt with the <<np name $st>> a little, hoping to gain <<np his>> trust.
<<include "Flirt Response">>
<br> <br>
<<if _reject is undefined>>
Price is $buyTotal (for <<= setup[$idBuy].name>> <<if setup[$idBuy].nonStack is undefined>> x$buyAmount <<else>> <<percent $buyAmount setup[$idBuy].dura green>> <</if>>). <br> <br>
<<if $credit gte $buyTotal>>
<<link "Take the deal" "Street Market Buy Accept">> <<set $message.push("<<gainRep 2 $repToGain>>")>> <<lootItem $invBuy $idBuy $buyAmount>> <</link>> <br>
<<else>> <span style="color:orange">You don't have enough credits. </span> <br> <</if>>
<<if $timesHaggled lt 3>>
<<link "Haggle to decrease price" "Street Market Buy Haggle">> <<set $timesHaggled += 1>> <<attCheck 2 0 $haggleDif 8>> <<set $haggleDif to Math.trunc($haggleDif *1.5)>> <</link>> <<showCheck 2 0 $haggleDif>> <br>
<<else>> <span style="color:orange"> The <<np name $st>> won't haggle anymore. </span> <br>
<</if>>
<<link "Look for someone else">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Leave" "Street Market">> <<clearNPC>> <</link>>
<<else>>
<<link "Keep searching">> <<passtime 10>> <<set $location to "Street Market Search">> <<buildStreetMarket>> <<event "Street Market Eventpool">> <</link>> <<showTime 10>> <br>
<<link "Continue" "Street Market">> <<clearNPC>> <</link>>
<</if>><<if $flirtResponse is "shy">>
<<if $success is 1>>
<<np He>> looks away shyly as <<np his>> face turns bright red. <span style="color:limegreen">Trust increased.</span> <<set $haggleDif to Math.trunc($haggleDif *0.4)>>
<<else>>
<<np He>> blinks and looks away. Doesn't seem like <<np he>>'s interested...
<</if>>
<<elseif $flirtResponse is "serious">>
<<if $success is 1>>
<<np He>> stares at you in response, but you can tell <<np he>> lowered <<np his>> guard. <span style="color:limegreen">Trust increased.</span> <<set $haggleDif to Math.trunc($haggleDif *0.6)>>
<<else>>
<<np He>> stares at you in response. <br> <br> "Don't waste my time." <<np He>> warns. <span style="color:red">Trust decreased.</span> <<set $haggleDif to Math.trunc($haggleDif *1.3)>>
<</if>>
<<elseif $flirtResponse is "lustful">>
<<if $success is 1>>
<<np He>> smirks in response. <span style="color:limegreen">Trust increased.</span> <<set $haggleDif to Math.trunc($haggleDif *0.4)>>
<<else>>
<<np He>> smiles. <br> <br> "Good one. But I'm not here for that." <<np He>> says. <span style="color:limegreen">Trust increased.</span> <<set $haggleDif to Math.trunc($haggleDif *0.8)>>
<</if>>
<<elseif $flirtResponse is "nervous">>
<<if $success is 1>>
<<np He>> stammers nervously. <span style="color:limegreen">Trust increased.</span> <<set $haggleDif to Math.trunc($haggleDif *0.5)>>
<<else>>
<<np He>> blinks. <br> <br> "Can you not?" <span style="color:red">Trust decreased.</span> <<set $haggleDif to Math.trunc($haggleDif *1.2)>>
<</if>>
<<elseif $flirtResponse is "hostile">>
<<if $success is 1>>
<<np He>> glares at you. <br> <br> "No chance, clanker." <br> <br>
<<else>>
<<np He>> stares at you furiously. <br> <br> "You are lucky we are in public." <<np He>> threatens before walking away... <<set _reject to 1>>
<</if>>
<</if>><em> An event should play here, but there was an error so now you are seeing this instead. </em> <br> <br> <<link "Sure">> <<goto $location>> <</link>>You move cautiously through the undercity, lighting up the path ahead with your flashlight. <<print either("The ground beneath your feet shakes as you hear a distant rumble from some unknown machine.", "A drone flies overhead, scanning the undercity with a red light.", "You circle around a pool of sea water.", "Ocean winds howl around the sharp metal structures of the undercity.", "The empty carcasses of old bots seem almost like skeletons to you.", "The eyes of a discarded robot head follow you as you walk by.")>> <br> <br> <<link "Continue">> <<goto $location>> <</link>>The eyes of a discarded robot head follow you as you walk by it. <<gainNeg 4 60>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You advance through the darkness. Slowly, you start hearing a faint whisper around you. You search for the source of the sound everywhere, but you only find the common litter and sharp metal edges of the undercity. <br> <br>
After a while, you hear a distant scream, and the whisper suddenly stops. You decide to get out of there as soon as possible. <<loseNeed 3 300>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You advance through the darkness. Slowly, you start hearing a faint whisper around you. You search for the source of the sound everywhere, but you only find the common litter and sharp metal edges of the undercity. <br> <br>
<span style="color:red"> The whispering gets worse and worse. </span> It feels closer, as if whatever there is out there is whispering right in your ear- yet you can't tell a single word apart. <br> <br>
<<link "Scream" "Undercity Scream Yes">> <</link>> <<negTip 4>> <br>
<<link "Endure" "Undercity Scream No">> <</link>>You scream. The whispers stop abruptly, and you are met with deafening silence. <br> <br>
It feels unnerving in it's own way. You decide to move on as soon as possible. <<gainNeg 4 100>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You cover your ears and endure the terrifying whispers. <<loseNeed 3 900>> <br> <br>
Eventually they stop, but you only uncover your ears a while later. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>As you brave through the undercity, suddenly you find yourself in the middle of a rain of random trash, impacting against the scrap with a clattering sound. <br> <br>
<<link "Dodge the trash!" "Undercity Falling Trash Dodge">> <<attCheck 4 5 15 10>> <</link>> | <<showCheck 4 5 15>><<if $success is 1>> You manage to avoid all the trash! <<else>> You fail to dodge the falling trash. You get hit by a couple plastic bottles. They fell from high enough to feel like bullets. <<enemyStrike 50>> <</if>>
<br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>As you squeeze between two piles of litter, a robot arm emerges from the debris
<<if $clothing["lower body"].length gt 0>> <<outerLayer "lower body">> <<set _clothId to $clothing["lower body"][_outerLayer][0]>> and grabs your <<= setup[_clothId].name>>!
<<else>> and grabs your leg! <</if>> <br> <br>
After a moment of panic, you realize the arm isn't moving anymore, but you remain trapped in its iron grip. <br> <br>
<<link "Force yourself free" "Undercity Robot Arm Free">> <</link>>You shank yourself free. <<set _ran to random(10, 20)>> <<damageClothing "lower body" _ran>>
<br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>Something flies from the darkness and hits your chest! <<enemyStrike 10>> <br> <br>
You point your flashlight at it as it bounces on the ground. It's a small metallic ball, spewing some kind of pink vapor. <<if $playerStat.FaceCover is 0>> You cover your face, but you already inhaled some of it. <<applyStatus AphroStatus 120>> <<addiction Aphrodisiac 10>> <<else>> <span style="color:limegreen">Your face is covered,</span> so you manage to avoid inhaling it. <</if>> <br> <br>
Whatever threw it at you doesn't come out from hiding. <<loseNeed 3 200>> <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The ground beneath your feet turns out to be more unstable than you thought. Suddenly <span style="color:red"> it gives in, </span> making you fall... <br> <br>
<<link "Steady yourself!" "Undercity Unstable Ground Land">> <<attCheck 4 5 30 12>> <</link>> | <<showCheck 4 5 30>>You fall down to the inside of a container.
<<if $success is 1>>
<span style="color:limegreen">Luckily, you land on your feet.</span> But the ground feels sticky... when you aim your flashlight downwards you find yourself stepping on a pool of a thick, white fluid... Soon you see the source: piles and piles of canisters of <span style="color:hotpink">synthetic cum</span>, most broken apart or leaking. <br> <br>
<<else>>
<span style="color:red">Unfortunately, you land face down.</span> Something cushions your fall... some kind of thick, white fluid. <<silently>> <<applyFluid Cum face 100>> <<applyFluid Cum hair 100>> <<applyFluid Cum body 100>> <<applyFluid Cum butt 100>> <<applyFluid Cum back 100>> <<applyFluid Cum chest 100>> <</silently>>
<br> <br>
When you aim your flashlight around you see the source: piles and piles of canisters of <span style="color:hotpink">synthetic cum</span>, most broken apart or leaking. <br> <br>
<</if>>
<<passageXP 10>> <br> <br>
<<link "Take a canister and climb out">> <<lootItem 1 BotCumCanister 1>> <<goto $location>> <</link>>You start having a headache. Thousand of electronic signals assault your brain, screaming in indecipherable machine language. You weren't build with the ability to parse them into any coherent message. <<loseNeed 3 200>> <br> <br>
They get stronger the more you walk in a particular direction. The source must be that way. <br> <br>
<<link "Get closer" "Undercity Headache Closer">> <</link>> <br>
<<link "Just walk away">> <<goto $location>> <</link>>You grit your teeth and walk closer to the source of the signals. <<loseNeed 3 400>> <br> <br>
Finally you see it: it's just a computer lying on a pile of scrap. The screen scrolls through thousands of messages. You turn it off and the signals suddenly stop. As you wonder how the computer turned on in the first place, an odd disk pops out of it. Curious, you pick it up. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<lootItem 0 KnowledgeDisk 1>> <<goto $location>> <</link>>You see a strange machine half-buried in the litter. It beeps randomly as you approach. You can't make any sense of it's purpose. <br> <br>
<<link "Investigate" "Undercity Strange Machine Investigate">> <<passtime 20>> <</link>> <<showTime 20>> <br>
<<link "Leave it alone">> <<goto $location>> <</link>>You spend some time investigating the strange machine. <<gainAtt 3 30>> <br> <br>
You don't recognize this type of technology, and you fail to pick up any signals from it. It's too big to move, so eventually you give up and leave it alone. <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<print either("You step in a pile of miscellaneous litter.")>> There might be something useful here. <br> <br>
<<passageXP 5>> <br> <br>
<<link "Search the pile">> <<passtime 20>>
<<if $depth lte 5>>
<<= either("<<lootItem 0 Painkiller 1>>", "<<lootItem 2 OldPhone 1>>", "<<lootItem 0 Ration 1>>", "<<lootItem 1 PowerCell 1>>", "<<lootItem 2 OldClock 1>>", "<<lootItem 0 StarchSnack 1>>", "<<lootItem 0 Bandage 1>>" )>>
<<elseif $depth lte 10>>
<<= either("<<lootItem 0 Painkiller 1>>", "<<lootItem 2 OldPhone 1>>", "<<lootItem 0 Ration 1>>", "<<lootItem 1 BotCore 1>>", "<<lootItem 1 PowerCell 1>>", "<<lootItem 2 OldClock 1>>", "<<lootItem 0 StarchSnack 1>>", "<<lootItem 1 Electronics 1>>", "<<lootItem 0 Bandage 1>>", "<<lootItem 0 PepperSpray 1>>" )>>
<<else>>
<<= either("<<lootItem 0 Painkiller 1>>", "<<lootItem 2 OldPhone 1>>", "<<lootItem 0 Ration 1>>", "<<lootItem 1 BotCore 1>>", "<<lootItem 1 PowerCell 1>>", "<<lootItem 2 OldClock 1>>", "<<lootItem 0 StarchSnack 1>>", "<<lootItem 1 Electronics 1>>", "<<lootItem 0 Bandage 1>>", "<<lootItem 0 PepperSpray 1>>" )>>
<</if>>
<<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>>
<<calcBait>> <<set _outcome to weightedEither({ nothing: 100, roach: 20 +_difficulty, })>>
<<if _outcome is "nothing">>
<<goto $location>>
<<elseif _outcome is "roach">>
<<goto "Undercity Litter Roach">>
<</if>>
<</link>> <<showTime 20>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>>While you search the litter for anything that might be useful, you lift the wrong lid to reveal a disgustingly oversized roach feeding on some pink goo. You step back, but the roach buzzes furiously, charging at you! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy Roach 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Roach Win">> <<set $surrender to "Undercity Roach Surrender">> <</link>> <br>You kick the roach back into the litter. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You stay still as the roach snaps at you. <<enemyClaw 10 noOrigin>>
<br> <br> Eventually it tires and goes back to it's food. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>Your flashlight illuminates a strange, pulsating growth between the scrap. Its thin tendrils secrete a bright pink fluid. <br> <br>
<<passageXP 5>> <br> <br>
<<link "Gather some">> <<goto $location>> <<lootItem 2 MutantGrowth 1>> <<passtime 10>>
<<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>> <</link>> <<showTime 10>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>><<print either("You find the carcass of an old pre-war car.", "You find a pile of good scrap metal.", "You find a dillapidated steel container.")>> <br> <br>
<<passageXP 5>> <br> <br>
<<link "Scavenge metal">> <<passtime 20>> <<skillRandom Scavenging 4 8 1>> <<lootItem 1 Scrap _ran>> <<set $message.push("<<gainSkill Scavenging 10 20>>")>>
<<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>>
<<goto $location>> <</link>> <<showTime 20>> | <<skillTip Scavenging>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>><<print either("You find a pile of old plastic toys.", "You find a mountain of discarded plastic bottles.")>> <br> <br>
<<passageXP 5>> <br> <br>
<<link "Scavenge plastic">> <<passtime 20>> <<skillRandom Scavenging 10 20 1>> <<lootItem 1 Plastic _ran>> <<set $message.push("<<gainSkill Scavenging 10 20>>")>>
<<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>>
<<goto $location>> <</link>> <<showTime 20>> | <<skillTip Scavenging>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>>You find a pile of discarded chips. <br> <br>
<<passageXP 5>> <br> <br>
<<link "Scavenge chips">> <<passtime 20>> <<skillRandom Scavenging 8 16 1>> <<lootItem 1 EmptyChip _ran>> <<set $message.push("<<gainSkill Scavenging 10 20>>")>>
<<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>>
<<goto $location>> <</link>> <<showTime 20>> | <<skillTip Scavenging>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>><<set $variant to weightedEither({
Boost: Math.clamp(30 -($depth *5), 0, 20),
Node: Math.clamp(0 +($depth *5), 0, 20),
Equipment: Math.clamp(-15 +($depth *5), 0, 30),
Part: Math.clamp(-25 -($depth *5), 0, 20),
})>>
You find a small steel crate
<<if $variant is "Equipment">> <<set _min to 10>> <<set _max to 25>> with a sword icon on its seal.
<<elseif $variant is "Node">> <<set _min to 5>> <<set _max to 20>> with a small brain icon on its seal.
<<elseif $variant is "Part">> <<set _min to 15>> <<set _max to 30>> with a open hand icon on its seal.
<<elseif $variant is "Boost">> <<set _min to 0>> <<set _max to 15>> with a vial icon on its seal.
<</if>>
It's a reinforced model, designed to be virtually unbreakable. While the lock is encrypted, you might be able to decypher it and open it. <br> <br>
<<haveItem 7 MagKey 1>>
<<if _has isnot "no">>
<<link "Unlock with a Magnetic Key">>
<<loseItem 7 MagKey 1>>
<<goto "Undercity Box Unlock">>
<</link>>
<<else>>
<em> You could use a Magnetic Key to unlock this, if you had any. </em>
<</if>>
<br>
<<if $power gte 5>>
<<link "Try to unlock">> <<set $power -= 5>> <<passtime 30>> <<attCheck 3 _min _max 16>> <<if $success is 1>> <<goto "Undercity Box Unlock">> <<else>> <<goto "Undercity Box Fail">> <</if>>
<<set $message.push("You make some noise while tinkering with the box... <<gainNeg 4 60>>")>>
<</link>> <<showTime 30>> | <<showCheck 3 _min _max>> | <span style="color:orange"> 5 Core Power </span>
<<else>> <span style="color:orange">Not enough Core Power to unlock. </span> <</if>>
<br>
<<link "Ignore">> <<goto $location>> <</link>>You manage to unlock the crate! You check it's insides and find...
<<if $variant is "Equipment">> <<set _item to setup.equipment.any.Uncommon.random()>> <<set _itemCount to setup[_item].dura>>
<<elseif $variant is "Node">> <<set _item to weightedEither(setup.RandomNode)>> <<set _itemCount to setup[_item].dura>>
<<elseif $variant is "Part">> <<set _item to setup.commonBodyParts.random()>> <<set _itemCount to setup[_item].dura>> <<chance 80>> <<set _itemCount to Math.trunc(_itemCount *(random(80, 90) /100))>> <</chance>>
<<elseif $variant is "Boost">> <<set _item to weightedEither(setup.RandomBoost)>> <<set _itemCount to 1>>
<</if>>
<br> <br>
<<showItem _item _itemCount>>
<br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<lootItem setup[_item].cat _item _itemCount>> <<goto $location>> <</link>>You fail to unlock the crate. Eventually it locks itself for good. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You catch a radio signal. It's odd for anyone to use old-fashioned radios to communicate, so curiously you focus on it for a few moments. <br> <br>
It's just a series of numbers. Probably a code for something. You could focus on it and try to decode it. <br> <br>
<<if $power gte 5>>
<<link "Decode the signal">> <<set $power -= 5>> <<passtime 20>> <<attCheck 3 5 15 15>> <<if $success is 1>> <<goto "Undercity Signal Decode">> <<else>> <<goto "Undercity Signal Fail">> <</if>> <</link>> <<showTime 20>> | <<showCheck 3 5 15>> | <span style="color:orange"> 5 Core Power </span>
<<else>> <span style="color:orange">Not enough Core Power. </span> <</if>>
<br>
<<link "Ignore">> <<goto $location>> <</link>><<set $dayFlag["UndercitySignal"] to 1>>
<<set _x to random(3, 5)>> <<chance 50>> <<set _x -= _x *2>> <</chance>>
<<set _y to random(3, 5)>> <<chance 50>> <<set _y -= _y *2>> <</chance>>
You succesfully decode the signal! Or, at least, you get close enough: <br> <br>
"... delivery ready... coordenates _y... _x... eight hours..." <br> <br>
You make note of the location. Perhaps you could get there before the intended destinatary. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<addUndercityQuest UndercitySignal _y _x 480>> <<goto $location>> <</link>>You fail to decode the signal. Eventually it stops completely. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>After a few minutes of searching, you find a small hidden box. You take it and hide behind a pile of scrap. A drone comes in soon enough, searching, but eventually it gives up. <br> <br>
Once the coast is clear you open the box.
<<set _item to weightedEither({
Candy: 10, CryptoBox: 10,
})>>
<<if _item is "Candy">> <<set _itemCount to random(10, 15)>>
<<elseif _item is "CryptoBox">> <<set _itemCount to 1>>
<</if>>
<br> <br>
<<showItem _item _itemCount>> <br>
<<passageXP 30>> <br> <br>
<<link "Continue">> <<lootItem setup[_item].cat _item _itemCount>> <<goto $location>> <</link>><<set _rar to weightedEither({common: 30, uncommon: 5,})>>
<<if _rar is "common">>
<<set _item to setup.commonBodyParts.random()>>
<<elseif _rar is "uncommon">>
<<set _item to setup.uncommonBodyParts.random()>>
<</if>>
<<set _itemCount to random(2, 17)>>
You find a synthetic body part buried in the ground! It's very damaged and barely operational, but you believe it can still be repaired or sold. <br> <br>
<<showItem _item _itemCount>> <br>
<<link "Continue">> <<lootItem 4 _item _itemCount>> <<goto $location>> <</link>>You find a gigantic pile of steel plates! <br> <br>
<<passageXP 10>> <br> <br>
<<link "Scavenge metal">> <<passtime 40>> <<skillRandom Scavenging 12 20 1>> <<lootItem 1 Scrap _ran>> <<set $message.push("<<gainSkill Scavenging 20 40>>")>> <<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>> <<goto $location>> <</link>> <<showTime 20>> | <<skillTip Scavenging>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>>You find an open military crate, filled with cans of spam. Most of them are smashed open, but you see one completely unharmed. <br> <br>
<<passageXP 10>> <br> <br>
<<link "Take the can">> <<lootItem 0 WarSpamCan 1>> <<goto $location>> <</link>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>>You find a broken package with the Icarus logo on it. The label reads "Order: Special Boost". <<set _id to either("StrengthVial", "EnduranceVial", "CharismaVial", "IntellectVial", "DexterityVial")>> Inside you find <<= setup[_id].name>> x1! <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You find a pile of abandoned power cells. <br> <br>
<<passageXP 10>> <br> <br>
<<link "Scavenge power cells">> <<passtime 30>> <<skillRandom Scavenging 2 4 1>> <<lootItem 1 PowerCell _ran>> <<set $message.push("<<gainSkill Scavenging 15 30>>")>> <<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>> <<goto $location>> <</link>> <<showTime 30>> | <<skillTip Scavenging>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>>You encounter a set of broken servers. <br> <br>
<<passageXP 10>> <br> <br>
<<link "Scavenge for crypto chips">> <<passtime 30>> <<skillRandom Scavenging 5 10 1>> <<lootItem 1 CryptoChip _ran>> <<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>> <<set $message.push("<<gainSkill Scavenging 15 30>>")>> <<goto $location>> <</link>> <<showTime 30>> | <<skillTip Scavenging>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>>You find a pile of miscellaneous electronics. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Scavenge electronics">> <<passtime 30>> <<skillRandom Scavenging 2 4 1>> <<lootItem 1 Electronics _ran>> <<set $message.push("<<gainSkill Scavenging 15 30>>")>> <<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>> <<goto $location>> <</link>> <<showTime 30>> | <<skillTip Scavenging>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>>You find a small hole in the litter. When you crouch and light up the interior, you find it filled with plastic bags, all full of multi-colored pieces of what looks like candy. <br> <br>
You reckon whoever left this here might not notice if you take just one bag... <br> <br>
<<passageXP 20>> <br> <br>
<<link "Grab a bag of candy">> <<set _ran to random(3, 6)>> <<lootItem 0 Candy _ran>> <<goto $location>> <</link>> <br>
<<link "Leave it alone">> <<goto $location>> <</link>>You find an old police equipment crate. Among broken riot gear you see a few unharmed smoke bombs. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Take them">> <<lootItem 0 SmokeBomb 2>> <<goto $location>> <</link>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>>You find a massive palid flower growing out of a mountain of scrap. It's big, heavy petals are open, and from the center oozes sticky, viscous nectar. You wonder how can anything grow in this darkness. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Gather some nectar">> <<passtime 20>> <<lootItem 0 PureNectar 1>> <<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>> <<goto $location>> <</link>> <<showTime 20>> <br>
<<link "Just keep walking">> <<goto $location>> <</link>><<clearNPC>> <<createNPC Synth>>
You see a <<np name>> dragging a trash bag full to the brim with scrap and plastic. <<np He>> seems a little tired and hurt, but <<np he>> still smiles weakly at you as <<np he>> walks past, heading to the Hell Gate. <<social 100>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC SlumHuman>> <<createNPC SlumHuman>>
You see the light of a flashlight ahead. You turn off your own and hide behind a pile of scrap. A <<np name>> comes into view, searching the litter with <<np his>> light. A <<np name 1>> follows behind dragging a full cart. <br> <br>
<<link "Sneak away" "Undercity Human Pair Sneak">> <<attCheck 4 5 15 10>> <</link>> <<showCheck 4 5 15>> <br>
<<link "Wait them out">> <<passtime 15>> <<set $message.push("You wait until the humans are gone before coming out from hiding.")>> <</link>> <<showTime 15>><<if $success is 1>>
You sneak through the darkness away from the pair. You feel the way ahead of you with your hands and avoid running into danger. Once you are a good distance away, you turn on your light again. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<<else>>
You sneak through the darkness away from the pair. You feel the way ahead of you with your hands and avoid running into danger, <span style="color:red"> but you accidentally knock over some kind of metal cabinet.</span> The metallic clang can be heard loud and clear. <<gainNeg 4 90>> <br> <br>
"What was that!?" You hear one of the humans say in terror. <br> <br>
"I told you there's weird stuff out there... Let's get out of here." <br> <br>
Apparently they are in more in a hurry than you. A few seconds later they're gone. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>
<</if>><<clearNPC>> <<createNPC Synth>> <<set $dayFlag.UndercitySynthGift to 1>>
You hear wheels turning and turn around to illuminate a <<np name>> dragging a cart full of litter. <<np He>> beams at you. <br> <br>
"Hey! You're also working down here?" <<np He>> asks. "It's pretty late, y'know? I'm heading up myself... today was a good day for me, see?" <<np He>> shows you the spoils, very proud with <<np him>>self. "Y'know, is there something you need? You can take some! I don't mind." <br> <br>
<<link "Take some scrap" "Undercity Synth Gift Accept">> <<random 12 24>> <<lootItem 1 Scrap _ran>> <</link>> <br>
<<link "Take some plastic" "Undercity Synth Gift Accept">> <<random 30 60>> <<lootItem 1 Plastic _ran>> <</link>> <br>
<<link "Take some power cells" "Undercity Synth Gift Accept">> <<random 2 4>> <<lootItem 1 PowerCell _ran>> <</link>> <br>
<br>
<<link "You don't need anything" "Undercity Synth Gift Reject">> <</link>>"There you go! Be careful if you're gonna stay down here. Good luck!" <br> <br>
The <<np name>> resumes walking to the Hell Gate while whistling a little tune. <<social 100>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>"Are you sure? Okay... Be careful if you're gonna stay down here, by the way. Good luck!" <br> <br>
The <<np name>> resumes walking to the Hell Gate while whistling a little tune. <<social 300>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>An old bot appears ahead. It's green paint is covered in stains and it carries a big bag of plastics. When it sees you it's stops moving completely. You think it's about to charge at you... <br> <br>
But it just waves at you instead. <br> <br>
<<link "Wave back" "Undercity Garbage Bot Friendly">> <</link>> <<negTip 4>> <br>
<<link "Ignore">> <<goto $location>> <</link>>The green bot beeps. "Hello citizen! Do you want to help me clean up this place? Only WE can prevent global warming!" <br> <br>
It appears it's an old recycling bot. You're about to explain it's a bit late for all of that, but it just repeats it's previous line with no sign of higher programming. After a while, you move on. <br> <br>
However, before you go, you turn back to watch it a bit longer. It has resumed picking up plastics, as it has done for perhaps decades. It's perseverence it's oddly inspiring. <<social 300>> <<gainNeg 4 90>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC LoveDollNPC>>
Your flashlight suddenly illuminates a <<np name>> watching you from a big pile of metal. It's an old model, decisively less human-like than you, and yet in some weird way, it could be considered an ancestor of yours. <br> <br>
"H-h-h-h-have you seen my... <<pTitle Master>>...?" It says in a glitchy voice. "Y-y-you look like... <<p him>>..." <br> <br>
<<link "Apologize and say you haven't" "Undercity Lovedoll Love Talk">> <</link>> <<negTip 4>> <br>
<<link "Move on">> <<goto $location>> <</link>>You tell the <<np name>> you have no idea where it's owner is. Grimly, you realize even if said owner exists, they were the one to trash this sexbot down here anyways. <br> <br>
"I-I-I'll keep looking." The <<np name>> says as it shambles away. <<gainNeg 4 90>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You hear faint music coming from the dark. Uneasy you point your flashlight in that direction. Slowly, a colorful bot walks into view, dragging it's feet forward. <br> <br>
"Test your luck. Coordenates 2-1. Courtesy of Mister..." <br> <br>
It bumps into a pillar. The impact is enough to shut it down. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>A massive eight-foot tall vending bot leans against a pile of scrap, it's chest a display full of old sealed spheres. It's cracked screen face turns to see you and a corrupted audio file plays: <br> <br>
"Kids... only 99 credits... mystery ball... collect them all..." <br> <br>
<<if $credit gte 99>> <<link "Pay 99 credits for a mystery ball" "Undercity Vending Bot Pay">> <</link>> <<payTip 99>> <br> <</if>>
<<link "Leave it alone">> <<goto $location>> <</link>>You pay 99 credits to the bot. <<loseCred 99>> <br> <br>
It's screen face flashes yellow for an instant, and the insides of its chest rumble as it extends a hand towards you. A sphere falls down through a hole on it's palm. You catch it in the air. <br> <br>
"T-t-t-tell your parents... only 99 credits..." <br> <br>
<<set _id to weightedEither(setup.RandomPlushies)>> <<lootItem 2 _id 1>>
You force the sphere open. Inside you find a <<= setup[_id].name>> <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>>! </span> <br> <br>
<<passageXP 10>> <br> <br>
<<if $credit gte 99>> <<link "Get another one!" "Undercity Vending Bot Pay 2">> <</link>> <<payTip 99>> <br> <</if>>
<<link "Move on">> <<goto $location>> <</link>>You give the bot another 99 credits! <<loseCred 99>> <br> <br>
<<set _id to weightedEither(setup.RandomPlushies)>> <<lootItem 2 _id 1>>
The bot repeats its movements and soon you have another mystery ball in your hands. When you open it, you find a <<= setup[_id].name>> <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>>! </span> <br> <br>
<<if $credit gte 99>> <<link "Get another one!" "Undercity Vending Bot Pay 3">> <</link>> <<payTip 99>> <br> <</if>>
<<link "Move on">> <<goto $location>> <</link>>You give the bot another 99 credits! <<loseCred 99>> <br> <br>
<<set _id to weightedEither(setup.RandomPlushies)>> <<lootItem 2 _id 1>>
The bot moves slower this time, more laboriously. After it finally dispenses the ball, it shutdowns for good. <br><br>
At least you got another one. When you open it you find a <<= setup[_id].name>> <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>>! </span> <br> <br>
<<passageXP 10>> <br> <br>
<<link "Move on">> <<goto $location>> <</link>>You hear movement nearby! You aim your flashlight and reveal an old rusty bot raising from the ground, twitching erratically as it charges at you! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy RustBot 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Rusty Bot Win">> <<set $surrender to "Undercity Rusty Bot Surrender">> <</link>> <br>
<<if $botHacking is 1>> <<if $power gte 5>> <<link "Hack into submission">> <<attCheck 3 5 15 12>> <<set $power -= 5>>
<<if $success is 1>>
<<goto "Undercity Rusty Bot Hack">>
<<else>> <<set $message.push("Hacking failed...")>>
<<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy RustBot 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Rusty Bot Win">> <<set $surrender to "Undercity Rusty Bot Surrender">>
<</if>>
<</link>> <<showCheck 3 5 15>> | <span style="color:orange">5 Core Power</span> <<else>> <span style="color:orange">Not enough power to hack.</span> <</if>> <</if>>The old bot's movements slow down as it falls over. A few moments later, its engines stop for good. <br> <br>
<<link "Dismantle">> <<passtime 20>> <<skillRandom Scavenging 2 5 2>> <<lootItem 1 Scrap _ran>> <<set $message.push("<<gainSkill Scavenging 10 20>>")>> <<chance 10>> <<lootItem 1 BotCore 1>> <</chance>> <<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>> <<goto $location>> <</link>> <<showTime 20>> | <<skillTip Scavenging>> <br>
<<link "Continue">> <<goto $location>> <</link>>You sit on the ground and look down, appearing non-threatening. The old bot kicks you a few times. <<enemyStrike 60>> <br> <br> As you remain immobile, it loses interest rather quickly. After walking away a few steps, it lays on the ground and enters hibernation once again. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You manage to remotely hack the old bot! It glitches out, shambling for a few moments, before finally turning off. <<gainSkill Hacking 10 20>> <br> <br>
<<passageXP 15>> <br> <br>
<<link "Dismantle">> <<passtime 20>> <<skillRandom Scavenging 2 5 2>> <<lootItem 1 Scrap _ran>> <<set $message.push("<<gainSkill Scavenging 10 20>>")>> <<chance 10>> <<lootItem 1 BotCore 1>> <</chance>> <<set $message.push("You make some noise while scavenging... <<gainNeg 4 60>>")>> <<goto $location>> <</link>> <<showTime 20>> | <<skillTip Scavenging>> <br>
<<link "Continue">> <<goto $location>> <</link>>You suddenly hear a screech above you! You duck to dodge a small furry bot. As it turns around and your flashlight lights up its face, you recognize its a teddy bear. It plays a distorsioned laugh track as it crawls towards you, followed by two of its friends. <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy BearToy 3>> <<goto 'Fight'>> <<set $aftermath to "Undercity Teddy Attack Win">> <<set $surrender to "Undercity Teddy Attack Surrender">> <</link>> <br>
<<if $botHacking is 1>> <<if $power gte 5>> <<link "Hack into submission">> <<attCheck 3 5 18 12>> <<set $power -= 5>>
<<if $success is 1>>
<<goto "Undercity Teddy Attack Hack">>
<<else>> <<set $message.push("Hacking failed...")>>
<<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy BearToy 3>> <<goto 'Fight'>> <<set $aftermath to "Undercity Teddy Attack Win">> <<set $surrender to "Undercity Teddy Attack Surrender">>
<</if>>
<</link>> <<showCheck 3 5 18>> | <span style="color:orange">5 Core Power</span> <<else>> <span style="color:orange">Not enough power to hack.</span> <</if>> <</if>>The teddy bears escape, but one is left behind. As it shakes on the ground, its eyes blink at you and close for good. <br> <br>
<<link "Take the teddy bear">> <<lootItem 2 BearToyItem 1>> <<goto $location>> <</link>> <br>
<<link "Continue">> <<goto $location>> <</link>>You sit on the ground. The teddy bears claw at you. <<enemyClaw 20>>. <<enemyClaw 20>>. One of them gets tired rather quickly, and starts cuddling against you instead. <br> <br>
After a while, the three toys lose interest and leave. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You succesfully hack the teddy bears! They turn off, becoming no more than toys. <<gainSkill 10 20>> <br> <br>
<<passageXP 25>> <br> <br>
<<link "Take all three">> <<lootItem 2 BearToyItem 3>> <<goto $location>> <</link>> <br>
<<link "Continue">> <<goto $location>> <</link>>You hear a low rumble beneath your feet. Soon after, a long pale worm rises from the litter. As you step back, it snaps its mandibles at you! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy ScrapWorm 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Scrap Worm Win">> <<set $surrender to "Undercity Scrap Worm Surrender">> <</link>> <br>The worm, beaten, retreats back into the litter. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You stay still as the worm snaps blindly around you. It hits you only by chance. <<enemyStrike 100>>
<br> <br> It appears it can't detect you if you don't move, so soon enough it retreats back into the ground. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>A bot stumbles into view! It's an old discarded model, but you see it's hastily painted in black and red. When it sees you, a glitched pre-recorded messages plays out of its head. <br> <br>
"Surrender your credits if you w-w-w-wanna l-live." <br> <br>
Without giving you an opportunity to respond, the bot charges at you! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy PirateBot 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Pirate Bot Win">> <<set $surrender to "Undercity Pirate Bot Surrender">> <</link>> <br>
<<if $botHacking is 1>> <<if $power gte 5>> <<link "Hack into submission">> <<attCheck 3 5 18 12>> <<set $power -= 5>>
<<if $success is 1>>
<<goto "Undercity Pirate Bot Hack">>
<<else>> <<set $message.push("Hacking failed...")>>
<<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy PirateBot 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Pirate Bot Win">> <<set $surrender to "Undercity Pirate Bot Surrender">>
<</if>>
<</link>> <<showCheck 3 5 18>> | <span style="color:orange">5 Core Power</span> <<else>> <span style="color:orange">Not enough power to hack.</span> <</if>> <</if>>The pirate bot shambles in retreat. You think its wise not to chase it, in case you find its owners. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You stay still in surrender. The bot stops before hitting you, and an antenna extends off its hand in your direction. <<set _rob to Math.clamp(Math.trunc($credit /10), 0, 100)>> <<loseCred _rob>> <br> <br>
After stealing your credits, the bot shambles away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You successfully hack the pirate bot! It just disconnects, staying frozen in place. <<gainSkill Hacking 10 20>> <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC LoveDollNPC>>
A <<np name>> rises from the litter ahead. Tilting <<np his>> head at you, <<np he>> speaks in a glitched voice: <br> <br>
"I-is that you, <<pTitle Master>>? I've waited so, so long-long-long-lo-" <br> <br>
As <<np his>> speech keeps glitching out <<np he>> shambles in your direction! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Undercity Lovebot Ambush Win">> <<set $surrender to "Undercity Lovebot Ambush Surrender">> <<set $surrenderDanger to 2>> <</link>> <br>The <<np name>> stumbles back, whining. <br> <br>
"<<pTitle Master>>... I miss you-u-u-" <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>>
<span style="color:red">Victorious, the <<np name>>'s advances on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
"<<pTitle Master>>... we are finally together again." <<np He>> whispers in amazement. <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Undercity Lovebot Ambush Finish">> <</link>>The <<np name>> lies down on the litter. "Thank you, <<pTitle Master>>..." <<np He>> says adoringly before shutting down. <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>>A squalid bot shambles into view! It's barely a metal frame, with its engine exposed. Despite its state, it doesn't take too long before it's charging against you. <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy SqualidBot 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Squalid Bot Win">> <<set $surrender to "Undercity Squalid Bot Surrender">> <</link>> <br>
<<if $botHacking is 1>> <<if $power gte 5>> <<link "Hack into submission">> <<attCheck 3 5 15 12>> <<set $power -= 5>>
<<if $success is 1>>
<<goto "Undercity Squalid Bot Hack">>
<<else>> <<set $message.push("Hacking failed...")>>
<<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy SqualidBot 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Squalid Bot Win">> <<set $surrender to "Undercity Squalid Bot Surrender">>
<</if>>
<</link>> <<showCheck 3 5 15>> | <span style="color:orange">5 Core Power</span> <<else>> <span style="color:orange">Not enough power to hack.</span> <</if>> <</if>>The bot breaks down, crumbling by its own weight. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You sit on the ground and look down, appearing non-threatening. The squalid bot kicks you once. <<enemyStrike 60>> <br> <br> The force of the impact has more effect on it than you. The bot promply falls over in pieces. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You successfully hack the thin bot! Inert, it promptly crumbles under its own weight. <<gainSkill Hacking 10 20>> <br> <br>
<<passageXP 10 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>A huge armored bot with a deep crack on it's chest shambles into view. It seems like an old combat bot, the same model that in the past replaced the armored vehicles that dominated conventional warfare. Unfortunately for you it seems to identify you as an enemy, and is soon charging at you. <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy TankBot 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Heavy Bot Win">> <<set $surrender to "Undercity Heavy Bot Surrender">> <</link>> <br>The armored bot turns off, falling in a sitting position. From the crack on it's chest rolls out a <<= setup.BotCore.name>>! <br> <br>
<<link "Continue">> <<lootItem 1 BotCore 1>> <<goto $location>> <</link>>You sit on the ground and look down, surrending to the heavy combat bot. It taps you once. <<enemyStrike 60>> <br> <br>
"E-enemy n-neutralized." It beeps, shambling away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>Suddenly two old bots emerge from the darkness ahead and start shambling towards you! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy RustBot 2>> <<goto 'Fight'>> <<set $aftermath to "Undercity Rusty Bot Two Win">> <<set $surrender to "Undercity Rusty Bot Two Surrender">> <</link>> <br>
<<if $botHacking is 1>> <<if $power gte 10>> <<link "Hack into submission">> <<attCheck 3 5 20 12>> <<set $power -= 10>>
<<if $success is 1>>
<<goto "Undercity Rusty Bot Two Hack">>
<<else>> <<set $message.push("Hacking failed...")>>
<<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy RustBot 2>> <<goto 'Fight'>> <<set $aftermath to "Undercity Rusty Bot Two Win">> <<set $surrender to "Undercity Rusty Bot Two Surrender">>
<</if>>
<</link>> <<showCheck 3 5 20>> | <span style="color:orange">10 Core Power</span> <<else>> <span style="color:orange">Not enough power to hack.</span> <</if>> <</if>>Beaten, both bots slowly stop moving. <br> <br>
<<link "Dismantle both">> <<passtime 40>> <<skillRandom Scavenging 4 10 2>> <<lootItem 1 Scrap _ran>> <<set $message.push("<<gainSkill Scavenging 20 40>>")>> <<chance 10>> <<lootItem 1 BotCore 1>> <</chance>> <<chance 10>> <<lootItem 1 BotCore 1>> <</chance>> <<goto $location>> <</link>> <<showTime 40>> | <<skillTip Scavenging>> <br>
<<link "Continue">> <<goto $location>> <</link>>The old bots strike you a few times. <<enemyStrike 100>> <br> <br>
After its clear you won't fight back, they shamble away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You manage to hack both bots! They fall to their knees, emitting a static sound. <<gainSkill Hacking 15 30>> <br> <br>
<<passageXP 25>> <br> <br>
<<link "Dismantle both">> <<passtime 40>> <<skillRandom Scavenging 4 10 2>> <<lootItem 1 Scrap _ran>> <<set $message.push("<<gainSkill Scavenging 20 40>>")>> <<chance 10>> <<lootItem 1 BotCore 1>> <</chance>> <<chance 10>> <<lootItem 1 BotCore 1>> <</chance>> <<goto $location>> <</link>> <<showTime 40>> | <<skillTip Scavenging>> <br>
<<link "Continue">> <<goto $location>> <</link>>A drone buzzes above, drawing circles in the air. It appears to be malfunctioning, but when it detects you it flashes red and descends on your direction! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy RogueDrone 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Rogue Drone Win">> <<set $surrender to "Undercity Rogue Drone Surrender">> <</link>> <br>
<<if $botHacking is 1>> <<if $power gte 10>> <<link "Hack into submission">> <<attCheck 3 5 20 12>> <<set $power -= 10>>
<<if $success is 1>>
<<goto "Undercity Rogue Drone Hack">>
<<else>> <<set $message.push("Hacking failed...")>>
<<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy RogueDrone 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Rogue Drone Win">> <<set $surrender to "Undercity Rogue Drone Surrender">>
<</if>>
<</link>> <<showCheck 3 5 20>> | <span style="color:orange">10 Core Power</span> <<else>> <span style="color:orange">Not enough power to hack.</span> <</if>> <</if>>The drone smashes into a pile of steel, splitting in two. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The drone falls on you! <<enemyStrike 100>> <br> <br>
At least the impact seems to have disabled it for good. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You manage to hack the drone! With it's navigation center disabled, it soon smashes into a pile of steel, splitting in two. <<gainSkill Hacking 15 30>> <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>A damaged bot emerges from the litter ahead. When you turn around, two others block your way. <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy SqualidBot 3>> <<goto 'Fight'>> <<set $aftermath to "Undercity Squalid Bot Three Win">> <<set $surrender to "Undercity Squalid Bot Three Surrender">> <</link>> <br>
<<if $botHacking is 1>> <<if $power gte 10>> <<link "Hack into submission">> <<attCheck 3 5 20 12>> <<set $power -= 10>>
<<if $success is 1>>
<<goto "Undercity Squalid Bot Three Hack">>
<<else>> <<set $message.push("Hacking failed...")>>
<<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy SqualidBot 3>> <<goto 'Fight'>> <<set $aftermath to "Undercity Squalid Bot Three Win">> <<set $surrender to "Undercity Squalid Bot Three Surrender">>
<</if>>
<</link>> <<showCheck 3 5 20>> | <span style="color:orange">10 Core Power</span> <<else>> <span style="color:orange">Not enough power to hack.</span> <</if>> <</if>>The bots lay in pieces around you. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>The bots strike you a few times. <<enemyStrike 120>> <br> <br>
A sound gets their attention, and the three shamble away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You manage to hack all the bots! <<gainSkill Hacking 15 30>> <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC RatHybrid>>
Suddenly something lands behind you. You turn around and your flashlight illuminates a <<np name>> hybrid, who points a stick at you. <br> <br>
"Sky demon. You're trespassing on sacred land. Prepare to pay the prize." <br> <br>
You don't have much time to be confused before <<np he>> starts charging at you! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Undercity Rat Scout Win">> <<set $surrender to "Undercity Rat Scout Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>Hurt, the <<np name>> climbs up a mountain of scrap, out of your reach. <br> <br>
"This isn't over, sky demon." <<np He>> warns before disappearing into the darkness. <br> <br>
<<link "Leave <<np him>> be">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>>
<<setScene 1>>
<span style="color:red">Victorious, the <<np name>> advances on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
"Sky demon... It's time to pay." <<np He>> says.
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Undercity Rat Scout Finish">> <</link>>The <<np name>> sighs. "Next time I won't be so merciful, sky demon". <<np He>> warns before disappearing into the darkness. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>><<clearNPC>> <<createNPC LoveDollNPC>> <<createNPC LoveDollNPC>>
You hear a voice coming from your right. <br> <br>
"<<pTitle Master>>... after so long... you come back?" Says a <<np name>>, emerging from the darkness. Another one speaks behind you: <br> <br>
"You abandoned us, <<pTitle Master>>... Please make it up to us..." <br> <br>
Soon they surround you! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<loadEnemy 0>> <<loadEnemy 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Lovebot Two Win">> <<set $surrender to "Undercity Lovebot Two Surrender">> <<set $surrenderDanger to 2>> <</link>> <br>The love bots whine and retreat into the darkness. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearPartner>> <<createPartner 0>> <<createPartner 1>>
<<setScene 1>> <<set $scene to "GangbangScene">>
<span style="color:red">Victorious, both of them advance on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
"<<pTitle Master>>... Let's have fun again..." <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Undercity Lovebot Two Finish">> <</link>>Sighing, the love bots lie on the ground. Taking advantage of their tiredness, you escape. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>>A hulking figure emerges from the litter! It's a corpulent boxer bot, with big red fists that are soon aimed at you! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy BoxerBot 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Boxer Bot Win">> <<set $surrender to "Undercity Boxer Bot Surrender">> <</link>> <br>
<<if $botHacking is 1>> <<if $power gte 15>> <<link "Hack into submission">> <<attCheck 3 5 30 14>> <<set $power -= 15>>
<<if $success is 1>>
<<goto "Undercity Boxer Bot Hack">>
<<else>> <<set $message.push("Hacking failed...")>>
<<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy BoxerBot 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Boxer Bot Win">> <<set $surrender to "Undercity Boxer Bot Surrender">>
<</if>>
<</link>> <<showCheck 3 5 30>> | <span style="color:orange">15 Core Power</span> <<else>> <span style="color:orange">Not enough power to hack.</span> <</if>> <</if>>The boxer bot is finally knocked out for good. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Dismantle">> <<passtime 20>> <<skillRandom Scavenging 5 10 2>> <<lootItem 1 Scrap _ran>> <<set $message.push("<<gainSkill Scavenging 10 20>>")>> <<goto $location>> <</link>> <<showTime 20>> | <<skillTip Scavenging>> <br>
<<link "Continue">> <<goto $location>> <</link>>You sit on the ground and look down, appearing non-threatening. The boxer bot punches you a few times, perhaps mistaking you for a punching bag. <<enemyStrike 150>> <br> <br> Eventually it shambles away, leaving you alone at last. <br> <br>
<<link "Continue">> <<goto $location>> <</link>>You manage to hack the boxer bot! <<gainSkill Hacking 30 60>> <br> <br>
<<passageXP 30>> <br> <br>
<<link "Dismantle">> <<passtime 20>> <<skillRandom Scavenging 5 10 2>> <<lootItem 1 Scrap _ran>> <<set $message.push("<<gainSkill Scavenging 10 20>>")>> <<goto $location>> <</link>> <<showTime 20>> | <<skillTip Scavenging>> <br>
<<link "Continue">> <<goto $location>> <</link>>Suddenly a blinding light engulfs you. It flashes a few times, making you flinch, before finally materializing in a humanoid figure. A hologram, one that promply charges at you! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<createEnemy BadHologram 1>> <<goto 'Fight'>> <<set $aftermath to "Undercity Bad Hologram Win">> <<set $surrender to "Undercity Bad Hologram Surrender">> <</link>> <br>The hologram finally disappears. You see the broken holopad on the ground flash a few more times before turning off for good. Cautious, you retrieve it from the scrap. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<lootItem 2 BrokenHolopad 1>> <<goto $location>> <</link>>You sit on the ground and look down, appearing non-threatening. The hologram's light and sound overwhelm your senses. <<loseNeed 3 900>> <br> <br> Then, finally, the light disappears. You take the opportunity to run away. <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<clearNPC>> <<createNPC HumanScavenger>> <<set _vr to random(1, 2)>>
<<if _vr is 1>>
A bright light suddenly flashes you, making you blink. When you aim your light at it you see its a <<np name>> holding a flashlight of <<np his>> own. <br> <br>
"Ey, you're down here scavenging like me?" <<np He>> says. "Cuz I just found something I like." <br> <br>
<<elseif _vr is 2>>
Another flashlight shines ahead and it's quickly pointed at you. You do the same with your own, revealing a smiling <<np name>>. <br> <br>
"Lucky me. Came here for scrap but found a nice piece of ass instead." <<np He>> laughs. "Mind if I take you with me?" <br> <br>
<</if>>
Laughing, <<np he>> starts advancing on you! <br> <br>
<<link "Defend yourself!">> <<set _activeSpecial to ["UndercityThrowFlashlight"]>> <<startFight>> <<loadEnemy 0>> <<goto 'Fight'>> <<set $aftermath to "Undercity Human Scavenger Win">> <<set $surrender to "Undercity Human Scavenger Surrender">> <<trauma 5 0>> <<set $surrenderDanger to 2>> <</link>> <br>The <<np name>> stumbles to the ground. <br> <br>
"W-wait." <<np He>> stammers, raising a hand. "I didn't mean it like that. Please, I'm just trying to get some creds..." <br> <br>
<<set _next to $location>> <<set _robAmount to random(50, 80)>>
<<include "Victory Options">> <br> <br>
<<link "Leave <<np him>> be">> <<goto $location>> <</link>>
<<set $neg[4] to Math.trunc($neg[4] /2)>><<clearPartner>> <<createPartner 0>>
<<setScene 1>>
<span style="color:red">Victorious, the <<np name>> advances on you.</span> <br> <br>
<<include setup[$scene].desc>> <br> <br>
"To the victor go the spoils eh?" <<np He>> laughs. <br> <br>
<<link "Endure">> <<goto "Scene">> <<set $aftermath to "Undercity Human Scavenger Finish">> <</link>>The <<np name>> laughs as <<np he>> walks away. "You're welcome." <<np He>> says. <br> <br>
<<link "Continue">> <<set $neg[4] to 0>> <<clearNPC>> <<clearPartner>> <<goto $location>> <</link>>You step on something soft. You point your flashlight down to find a small backpack half-buried in scrap. It has several slash marks. You search around, but for all you know it could've been lost years ago. Inside you find quite a few supplies. <<loseNeed 3 300>> <br> <br>
You take the contents quickly and hope you won't meet the same fate than it's owner. <br> <br>
<<passageXP 20>> <br> <br>
<<link "Continue">> <<lootItem 0 EnergyDrink 2>> <<lootItem 0 Bandage 3>> <<lootItem 0 PepperSpray 1>> <<lootItem 7 MagKey 2>> <<goto $location>> <</link>><<set $undercityExploration += 1>>
<<set _scrap to 10>> <<set _chip to 5>> <<set _plastic to 10>> <<set _organic to 0>> <<set _icarus to 0>>
<<set $terrain to setup.undercity.map[$y][$x]>>
<<switch $terrain>>
<<case 6>> <<set _scrap to 30>> <<set _chip to 5>> <<set _plastic to 0>> <<set _organic to 0>> <<set _icarus to 0>>
<<case 7>> <<set _scrap to 0>> <<set _chip to 10>> <<set _plastic to 10>> <<set _organic to 0>> <<set _icarus to 0>>
<<case 8>> <<set _scrap to 0>> <<set _chip to 5>> <<set _plastic to 30>> <<set _organic to 0>> <<set _icarus to 0>>
<<case 9>> <<set _scrap to 5>> <<set _chip to 0>> <<set _plastic to 5>> <<set _organic to 15>> <<set _icarus to 0>>
<<case 10>> <<set _scrap to 5>> <<set _chip to 5>> <<set _plastic to 0>> <<set _organic to 0>> <<set _icarus to 10>>
<</switch>>
<<set _dangerChance to Math.clamp(Math.trunc((30 *( $neg[4] /$maxNeg[4]))) -6, 0, 30)>>
<<if $debug is 1>> <<set $message.push("ATTENTION CHANCE VALUE IS " + _dangerChance)>> <</if>>
<<if $depth lte 5>>
<<set _type to weightedEither({
trivial: 10,
loot: Math.trunc((10 +$depth) *(1 +($perk.luck /100))),
social: 8 -$depth,
danger: 5 +$depth,
attention: _dangerChance,
})>>
<<set _rarity to weightedEither({
common: 50 -($depth *4),
uncommon: 0 +($depth *4),
rare: 0,
veryRare: 0,
ultraRare: 0,
})>>
<<elseif $depth lte 10>>
<<set _type to weightedEither({
trivial: 10,
loot: Math.trunc(15 *(1 +($perk.luck /100))),
social: 3,
danger: 10 +$depth,
attention: _dangerChance,
})>>
<<set _rarity to weightedEither({
common: 50 -($depth *4),
uncommon: Math.clamp(0 +($depth *4), 0, 40),
rare: -24 +($depth *4),
veryRare: 0,
ultraRare: 0,
})>>
<<elseif $depth lte 15>>
<<set _type to weightedEither({
trivial: 10,
loot: Math.trunc(15 *(1 +($perk.luck /100))),
social: 2,
danger: 15 +$depth,
attention: _dangerChance,
})>>
<<set _rarity to weightedEither({
common: 10,
uncommon: 100 -($depth *5),
rare: Math.clamp(-30 +($depth *5), 0, 50),
veryRare: -55 +($depth *5),
ultraRare: 0,
})>>
<<else>>
<<set _type to weightedEither({
trivial: 10,
loot: Math.trunc(15 *(1 +($perk.luck /100))),
social: 2,
danger: 20 +$depth,
attention: _dangerChance,
})>>
<<set _rarity to weightedEither({
common: 0,
uncommon: 0,
rare: 0,
veryRare: 30 -($depth *5),
ultraRare: 5 +($depth *5),
})>>
<</if>>
<<if _rarity is "common">>
<<if _type is "trivial">>
<<set _event to {
"Undercity Robot Head": 2,
"Undercity Trivial Fear": 2,
"Undercity Scream": 2,
"Undercity Falling Trash": 2,
"Undercity Robot Arm": 2,
"Undercity Pink Cloud": 2,
}>>
<<elseif _type is "loot">>
<<set _event to {
"Undercity Scrap": _scrap,
"Undercity Plastic": _plastic,
"Undercity Growth": _organic,
"Undercity Chip": _chip,
"Undercity Litter": 20 -_organic,
"Undercity Box": Math.clamp(5 *$depth, 0, 10) +_icarus,
"Undercity Lost Part": _icarus,
}>>
<<if $dayFlag["UndercitySignal"] is undefined>> <<set _event["Undercity Signal"] to 5>> <</if>>
<<elseif _type is "social">>
<<set _event to {
"Undercity Synth": 20,
"Undercity Human Pair": 10,
"Undercity Garbage Bot": 10,
"Undercity Lovedoll Love": 5 +_icarus,
"Undercity Mister Fortune Ad": 3,
}>>
<<if $dayFlag["UndercitySynthGift"] is undefined and $hours gte 19 and $hours lte 21>> <<set _event["Undercity Synth Gift"] to 10>> <</if>>
<<elseif _type is "danger">>
<<set _event to {
"Undercity Rusty Bot": 20,
"Undercity Heavy Bot": Math.clamp( (_scrap -10) *$depth, 0, 20),
"Undercity Teddy Attack": Math.clamp( (_chip -5) *$depth, 0, 20),
"Undercity Scrap Worm": Math.clamp(_organic *$depth, 0, 20),
"Undercity Pirate Bot": Math.clamp($south *5, 0, 20),
"Undercity Lovebot Ambush": Math.clamp($depth *10, 0, 20) +_icarus,
"Moth Attack": Math.clamp($depth *5, 0, 20),
}>>
<<elseif _type is "attention">>
<<set _event to {
"Undercity Human Scavenger": 15,
}>>
<</if>>
<<elseif _rarity is "uncommon">>
<<if _type is "trivial">>
<<set _event to {
"Undercity Trivial": 8,
"Undercity Unstable Ground": 2,
"Undercity Headache": 2,
"Undercity Strange Machine": 2,
}>>
<<elseif _type is "loot">>
<<set _event to {
"Undercity Power Cell": 20,
"Undercity Electronics": 5,
"Undercity Crypto": _chip,
"Undercity Litter": 20,
"Undercity Nectar Flower": _organic +3,
"Undercity Box": 10 +$depth +_icarus,
"Undercity Lost Part": $depth +_icarus,
}>>
<<elseif _type is "social">>
<<set _event to {
"Undercity Vending Bot": 10,
"Undercity Mister Fortune Ad": 3,
}>>
<<elseif _type is "danger">>
<<set _event to {
"Undercity Rogue Drone": 5,
"Undercity Rusty Bot Two": 10,
"Undercity Lovebot Two": 5 +_icarus,
}>>
<<elseif _type is "attention">>
<<set _event to {
"Undercity Human Scavenger": 15,
}>>
<</if>>
<<elseif _rarity is "rare">>
<<if _type is "trivial">>
<<set _event to {
"Undercity Trivial": 8,
}>>
<<elseif _type is "loot">>
<<set _event to {
"Undercity Big Scrap": 10,
"Undercity Electronics": 15,
"Undercity Litter": 20,
"Undercity Box": 15,
"Undercity Smoke Bomb": Math.clamp($north, 0, 5),
"Undercity Candy Stash": Math.clamp($south, 0, 5),
}>>
<<elseif _type is "social">>
<<set _event to {
"Undercity Vending Bot": 10,
}>>
<<elseif _type is "danger">>
<<set _event to {
"Undercity Boxer Bot": 10,
"Undercity Bad Hologram": 10,
"Undercity Rat Scout": 10,
}>>
<<elseif _type is "attention">>
<<set _event to {
"Undercity Human Scavenger": 15,
}>>
<</if>>
<<elseif _rarity is "veryRare">>
<<if _type is "trivial">>
<<set _event to {
"Undercity Trivial": 8,
}>>
<<elseif _type is "loot">>
<<set _event to {
"Undercity Electronics": 15,
"Undercity Litter": 20,
"Undercity Box": 15,
}>>
<<elseif _type is "social">>
<<set _event to {
"Undercity Vending Bot": 5,
}>>
<<elseif _type is "danger">>
<<set _event to {
"Undercity Boxer Bot": 10,
"Undercity Bad Hologram": 10,
"Undercity Rat Scout": 10,
}>>
<<elseif _type is "attention">>
<<set _event to {
"Undercity Human Scavenger": 15,
}>>
<</if>>
<<elseif _rarity is "ultraRare">>
<<if _type is "trivial">>
<<set _event to {
}>>
<<elseif _type is "loot">>
<<set _event to {
}>>
<<elseif _type is "social">>
<<set _event to {
}>>
<<elseif _type is "danger">>
<<set _event to {
}>>
<</if>>
<</if>>
<<if _args.includes("test") is false>>
<<if _event isnot undefined>>
<<set _event to weightedEither(_event)>> <<else>> <<set _event to "Undercity Placeholder">> <</if>>
<<if $undercityExploration gte 3 and $visit.includes("Undercity Story Backpack") is false>> <<set _event to "Undercity Story Backpack">> <</if>>
<</if>><<set _rarityPool to {
common: 50,
}>>
<<set _rarity to weightedEither(_rarityPool)>>
<<if _rarity is "common">> <<set _event to weightedEither({
"Undercity Glide Nothing": 10,
"Undercity Glide Delivery Drone": 10,
})>>
<</if>>The air gets colder and colder as you slowly glide down to the depths of the Undercity. Your wings hold up, and you get to the bottom without issues. <br> <br>
<<link "Continue" "Undercity">> <<questFlag glide>> <</link>>As you slowly glide down, you hear a buzz below. A delivery drone is rapidly ascending and is about to crash into you! <br> <br>
<<link "Dodge the drone!" "Undercity Glide Delivery Drone Dodge">> <<attCheck 4 8 20 12>> <</link>> | <<showCheck 4 8 20>><<if $success is 1>> You manage to avoid the delivery drone! It's buzzing sound gets weaker as it disappears into the darkness. <<else>> <span style="color:red"> You crash against the drone! </span> <<enemyStrike 100>> <br> <br> You manage to stabilize yourself, but the same can't be said about the drone. Damaged, it stays in the air for a few seconds before stumbling down into the darkness. <</if>>
<br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<questFlag glide>> <<goto $location>> <</link>><<if $visit.includes(passage())>>Mister Fortune salutes you. <br> <br>
"Ready to test your luck?" <br> <br> <<else>> After you climb the mountain, the strange bot turns to you. You recognize it as a very old model. It doesn't have legs: it's waist is welded to the wheel of fortune, right on the middle. <br> <br>
"What do we have here? Fresh blood? ... Do you even have blood?" The bot rambles, it's eyes flashing. "No matter! Whatever you are, whoever you are, it's time for you to test your luck! I'm Mister Fortune, at your service. Aren't you tired of the big corporate man squeezing you to death? Working for pennies on a sweatshop? Well if you win once here you'll get enough creds to DIVORCE your wife! For a meager price of one, yes, only one! I cannot believe it! Just one!? Who set that price?? I didn't! Only for a little single piece of LIVING FLESH you get a chance to get set up for life! What do you say?" <br> <br> <</if>>
<<link "Gamble" "Undercity Casino Gamble">> <</link>> <br>
<<link "Leave" "Undercity">> <</link>><<if $visit.includes(passage())>>The floor opens up to reveal the metal blender. <br> <br> <<else>> You tell Mister Fortune you want to gamble. <br> <br>
"That's what I wanna hear! Watch your step!" <br> <br>
The ground growls under your feet. Startled you jump back as the floor opens up, revealing a strange mechanism beneath that quickly stirs into motion. <br> <br>
"Just throw the meat into the blender and I'll roll the wheel for you! Don't try to scam me or you're going down there next, hear me?" <br> <br>
<<set $fortuneRolled to 0>> <</if>>
<<haveItem 2 MutantGrowth 1>>
<<if _has isnot "no">> <span style="color:aqua"> You have _hasAmount pieces of Mutant Growth. </span> <<else>> <span style="color:orange">You don't have any Mutant Growth.</span> <</if>> <br>
<<if _has isnot "no">> <br>
<<if $inventory[2][_has][1] gte 1>>
<<link "Throw some mutant growth into the blender." "Undercity Casino Roll">> <<passtime 3>> <<set $casinoRoll to 1>> <<set $fortuneRolled += 1>> <<loseItem 2 MutantGrowth 1>> <</link>> <<showTime 3>> <br> <</if>>
<<if $inventory[2][_has][1] gte 5>>
<<link "Throw 5 pieces of mutant growth into the blender." "Undercity Casino Roll">> <<passtime 15>> <<set $casinoRoll to 5>> <<set $fortuneRolled += 5>> <<loseItem 2 MutantGrowth 5>> <</link>> <<showTime 15>> <br> <</if>>
<</if>>
<<haveItem 0 MeatRation 1>>
<<if _has isnot "no">> <br> <span style="color:aqua"> You have <<= $inventory[0][_has][1]>> Meat Rations. </span> <br>
<br>
<<if $inventory[0][_has][1] gte 1>>
<<link "Throw a meat ration into the blender." "Undercity Casino Roll">> <<passtime 3>> <<set $casinoRoll to 1>> <<set $fortuneRolled += 1>> <<loseItem 0 MeatRation 1>> <</link>> <<showTime 3>> <br> <</if>>
<<if $inventory[0][_has][1] gte 5>>
<<link "Throw 5 meat rations into the blender." "Undercity Casino Roll">> <<passtime 15>> <<set $casinoRoll to 5>> <<set $fortuneRolled += 5>> <<loseItem 0 MeatRation 5>> <</link>> <<showTime 15>> <br> <</if>>
<</if>>
<br>
<<link "Leave">> <<goto "Undercity Casino">> <</link>><<for $casinoRoll gt 0>>
<span style="color:aqua"> The wheel of fortune rolls! </span> Mister Fortune rolls with it! Slowly, both of them stop...
<<set _result to weightedEither({
ScrapTen: 5, Plastic: 5, PowerCell: 3, Plushy: 3,
Candy: 3, Electronics: 3,
CredTen: 7, CredFifty: 5, CredHundred: 3, CredFiveHundred: 3,
BrainNode: 4, CommonBodyPart: 3, UncommonBodyPart: 2,
Weapon: 5, Disk: 3,
})>>
<<if _result is "ScrapTen">>
"<span style="color:yellow">Not too bad!</span>" Mister Fortune announces. "Have some scrap!" <<lootItem 1 Scrap 10>>
<<elseif _result is "Candy">>
"<span style="color:limegreen">Lucky!</span>" Mister Fortune announces. "Some candy for you!" <<lootItem 0 Candy 3>>
<<elseif _result is "Electronics">>
"<span style="color:limegreen">Lucky!</span>" Mister Fortune announces. "It's broken phones and wires for you!" <<lootItem 1 Electronics 3>>
<<elseif _result is "Plastic">>
"<span style="color:yellow">Not too bad!</span>" Mister Fortune announces. "Have some plastic!" <<set _ran to random(21, 64)>> <<lootItem 1 Plastic _ran>>
<<elseif _result is "PowerCell">>
"<span style="color:limegreen">Lucky!</span>" Mister Fortune announces. "Take these power cells!" <<lootItem 1 PowerCell 3>>
<<elseif _result is "Plushy">>
"<span style="color:limegreen">Lucky!</span>" Mister Fortune announces. "A plushy for you!" <<set _plushy to weightedEither(setup.RandomPlushies)>> <<lootItem 2 _plushy 1>>
<<elseif _result is "CredTen">>
"<span style="color:red">Tough luck!</span>" Mister Fortune announces. "But have a consolation prize!" <<gainCred 10>>
<<elseif _result is "CredFifty">>
"<span style="color:yellow">Not to bad!</span>" Mister Fortune announces. "Could be better, though!" <<gainCred 50>>
<<elseif _result is "CredHundred">>
"<span style="color:limegreen">Lucky!</span>" Mister Fortune announces. "Have your prize!" <<gainCred 100>>
<<elseif _result is "CredFiveHundred">>
"<span style="color:gold">Jackpot!</span>" Mister Fortune announces. "Just for you!" <<gainCred 500>>
<<elseif _result is "BrainNode">>
"<span style="color:gold">Jackpot!</span>" Mister Fortune announces. "Have a brain piece!" <<set _node to weightedEither(setup.RandomNode)>> <<lootItem 5 _node 1>>
<<elseif _result is "CommonBodyPart">>
"<span style="color:gold">Jackpot!</span>" Mister Fortune announces. "A person's part for you!" <<set _bodyPart to setup.commonBodyParts.random()>> <<set _dura to random(40, 80)>> <<lootItem 4 _bodyPart _dura>>
<<elseif _result is "UncommonBodyPart">>
"<span style="color:gold">Jackpot!</span>" Mister Fortune announces. "Here's something to build yourself a little!" <<set _bodyPart to setup.uncommonBodyParts.random()>> <<set _dura to random(40, 80)>> <<lootItem 4 _bodyPart _dura>>
<<elseif _result is "Weapon">>
"<span style="color:gold">Jackpot!</span>" Mister Fortune announces. "You get this thing I found!" <<set _weapon to setup.equipment.any.Common.random()>> <<set _dura to random(40, 80)>> <<lootItem 6 _weapon _dura>>
<<elseif _result is "Disk">>
"<span style="color:limegreen">Lucky!</span>" Mister Fortune announces. "The mysteries of knowledge for you!" <<lootItem 0 KnowledgeDisk 1>>
<</if>>
<<set $casinoRoll -= 1>> <br> <br>
<</for>>
You've rolled the wheel a total of $fortuneRolled times. <br> <br>
<<passageXP 10>> <br> <br>
<<link "Continue">> <<goto "Undercity Casino Gamble">> <</link>><<if _passout is undefined>>
You are in a clandestine port at the south coast of the undercity. <br> <br>
<<link "Sell items" "Sell Shop">> <<set $pageStart to 0>> <<set $pageEnd to 8>> <<set $location to "Undercity Port">>
<<set $shop to [
["MetalToy", 5, 2],
["OldClock", 50, 2], ["OldPhone", 80, 2],
["Jewel", 500, 2],
]>>
<</link>>
<br> <br>
<<link "Leave">> <<goto "Undercity">> <</link>>
<</if>><<if _passout is undefined>>
You're lost in the Undercity, with no source of lightning. You can't see a single inch in front of you. <br> <br>
<<link "Walk forward" "Undercity Lost">> <<passtime 15>> <<set $location to "Undercity Lost">> <<event "Undercity Lost Eventpool">> <</link>> <<showTime 15>>
<</if>><<set _rarityPool to {
common: 100,
uncommon: 20,
rare: 0,
ultraRare: 0,
danger: 0,
}>>
<<set _rarity to weightedEither(_rarityPool)>>
<<if _rarity is "common">> <<set _event to either("Undercity Lost Creepy Sound", "Undercity Lost Sticky")>>
<<elseif _rarity is "uncommon">> <<set _event to either("Undercity Lost Find Flashlight")>>
<</if>>You hear odd sounds as you move through the darkness. Metal sliding over metal, mechanic groans... and weak, distant breathing. <<loseNeed 3 300>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>>As you feel your way through the darkness your hands land in something wet. You try to move away but whatever you are touching is sticky. <<loseNeed 3 300>> <br> <br>
After a few minutes of struggling, you finally manage to get away. <br> <br>
<<passageXP 15>> <br> <br>
<<link "Continue">> <<passtime 3>> <<goto $location>> <</link>> <<showTime 3>>You step on a cilinder. When you crouch to take it you realize it's your flashlight! It seems you've been walking in circles after all. Danger seems to be gone. <br> <br>
<<passageXP 25>> <br> <br>
<<link "Turn the flashlight on!">> <<goto "Undercity">> <</link>>You get aboard one of the elevators. After a few minutes of waiting, it starts to come down with a screeching metallic sound. <br> <br>
<<if $visit.includes(passage())>> <<else>> <span style="color:red"> You weren't expecting it to get so dark. </span> The city obscures the entire sky, of course, so no light can get to the undercity at all. It feels as if the elevator is plunging into nothing but void. <br> <br>
<<clearNPC>> <<createNPC SlumHuman>>
"Hey, synth." A <<np name>> gets your attention. "You forgot to get a flashlight? Here, I got one." <<np He>> thrusts the thing into your hands. "And be careful out there. We're all here for mats, and you are made of really expensive stuff..." <br> <br>
Before you can respond <<np he>> disappears into the crowd. You feel as grateful as unnerved. <br> <br> <<set $undercityExploration to 0>> <</if>>
After a few minutes, the elevator finally touches ground. The passengers disperse, flashlights slowly disappearing into the infinite darkness. <br> <br>
<<link "Start exploring" "Undercity">> <<set $x to 10>> <<set $y to 10>> <<set $depth to 0>> <<set $north to 0>> <<set $south to 0>> <<set $east to 0>> <<set $west to 0>> <</link>>You wait until an elevator comes down, and then you promptly jump into it. <br> <br>
<<link "Leave the undercity" "Slum Hell Stair">> <<set $neg[4] to 0>> <<set $region to "Slum">> <</link>><<if _passout is undefined>>
You are in the undercity of Avone. Oppresive darkness surrounds you, with only your flashlight lighting up the way. <br> <br>
Your current position is <span style="color:gold"><<= $y -10>></span>/<span style="color:gold"><<= $x -10>></span>. <<if $y is 10 and $x is 10>> You are right beneath the lower districts' Hell Gate.<<else>> The lower districts' Hell Gate is at 0/0. You are $depth clicks away from it. <</if>> <br> <br>
<<if $debug is 1>>
DEBUG <<link "See eventpool">> <<event "Undercity Eventpool" test>> <<dialog>> <<for _key, _value range _event>> <<link "_key" _key>> <</link>> (_value) <br> <</for>> <</dialog>> <</link>>
<br> <br>
<</if>>
<<= setup.undercity.location[setup.undercity.map[$y][$x]]>> <br> <br>
<<for _u to 0; _u lt $undercityItem.length; _u++>> <<capture _u>>
<<if $undercityItem[_u][1] is $y -10 and $undercityItem[_u][2] is $x -10>>
<<= setup[$undercityItem[_u][0]].name>> -->
<<= setup[$undercityItem[_u][0]].text>>
<br> <br>
<</if>>
<</capture>>
<</for>>
<<link "Explore this area">> <<passtime 15>> <<set $location to "Undercity">> <<event "Undercity Eventpool">> <</link>> <<showTime 15>> <br> <br>
<<if $y gt 5>> <<link "Go north">> <<set $north += 1>> <<set $south -= 1>> <<if $y lte 10>> <<set $depth += 1>> <<else>> <<set $depth -= 1>> <</if>> <<set $y -= 1>> <<passtime 15>> <<set $location to "Undercity">> <<event "Undercity Eventpool">> <</link>> | <<showTime 15>> | <span style="color:gold"><<= $y -11>></span>/<span style="color:gold"><<= $x -10>></span> <<else>> An impenetrable wall of scrap blocks your way north. You can't go any further. <</if>> <br>
<<if $x gt 5>> <<link "Go west">> <<set $west += 1>> <<set $east -= 1>> <<if $x lte 10>> <<set $depth += 1>> <<else>> <<set $depth -= 1>> <</if>> <<set $x -= 1>> <<passtime 15>> <<set $location to "Undercity">> <<event "Undercity Eventpool">> <</link>> | <<showTime 15>> | <span style="color:gold"><<= $y -10>></span>/<span style="color:gold"><<= $x -11>></span> <<else>> An impenetrable wall of scrap blocks your way west. You can't go any further. <</if>> <br>
<<if $x lt 15>> <<link "Go east">> <<set $east += 1>> <<set $west -= 1>> <<if $x gte 10>> <<set $depth += 1>> <<else>> <<set $depth -= 1>> <</if>> <<set $x += 1>> <<passtime 15>> <<set $location to "Undercity">> <<event "Undercity Eventpool">> <</link>> | <<showTime 15>> | <span style="color:gold"><<= $y -10>></span>/<span style="color:gold"><<= $x -9>></span> <<else>> An impenetrable wall of scrap blocks your way east. You can't go any further. <</if>> <br>
<<if $y lt 15>> <<link "Go south">> <<set $north -= 1>> <<set $south += 1>> <<if $y gte 10>> <<set $depth += 1>> <<else>> <<set $depth -= 1>> <</if>> <<set $y += 1>> <<passtime 15>> <<set $location to "Undercity">> <<event "Undercity Eventpool">> <</link>> | <<showTime 15>> | <span style="color:gold"><<= $y -9>></span>/<span style="color:gold"><<= $x -10>></span> <<else>> The ocean blocks your way south. You can't go any further. <</if>> <br>
/* 0 20 */
<</if>>You spend thirty minutes extracting credits from the old terminal. <<skillRandom Hacking 30 60 2>> <<gainCred _ran>> <br> <br>
<<link "Continue">> <<goto $location>> <</link>><<if _passout is undefined>>
You are in the Hell Gate moor in Sector E3. It's busy with bots carrying mountains of scrap to the street and humans shouting orders and insults among each other. <br> <br>
<<link "Pay for a way down" "Slum Hell Stair Ticket">> <</link>> <br>
<br>
<<link "Go back to the street">> <<passtime 2>> <<set $location to "Sector E3">> <<event "Slum Eventpool Main">> <</link>> <<showTime 2>>
<</if>><<if $visit.includes(passage())>>You approach the moor building to pay for a way down. <br> <br> <<else>> You ask how can you get down to the Undercity. A bot plays you a recorded message signaling you to a nearby building. Once there, you wait in a rundown office for a few minutes. <br> <br> <<clearNPC>> <<createNPC SlumHuman>>
Eventually an old <<np name>> comes out, takes a single look at you and scoffs. <br> <br>
"Another one, huh? It's 20 credits to get on an elevator. I'm supposed to tell you police can't get to the undercity, so go at your own risk and if you get turned into scrap, well, tough luck. You paying or what?" <br> <br> <</if>>
<<if $credit gte 20>> <<link "Spend 20 Credits on an elevator ticket" "Undercity Intro">> <<passtime 30>> <<loseCred 20>> <<set $region to "Undercity">> <</link>> <<showTime 30>> <<payTip 20>> <br> <</if>>
<<link "Nevermind..." "Slum Hell Stair">> <</link>>You flex your wings and stare at the abyss below. <br> <br> <<set $region to "Undercity">>
<<link "Glide down here">> <<passtime 5>> <<set $x to 10>> <<set $y to 10>> <<set $depth to 0>> <<set $north to 0>> <<set $south to 0>> <<set $east to 0>> <<set $west to 0>> <<set $location to "Undercity">> <<event "Undercity Glide Eventpool">> <</link>> <<showTime 5>> <br> <br>
<<link "Glide north">> <<passtime 5>> <<set $x to 10>> <<set $y to 5>> <<set $depth to 5>> <<set $north to 5>> <<set $south to 0>> <<set $east to 0>> <<set $west to 0>> <<set $location to "Undercity">> <<event "Undercity Glide Eventpool">> <</link>> <<showTime 5>> <br>
<<link "Glide west">> <<passtime 5>> <<set $x to 5>> <<set $y to 10>> <<set $depth to 5>> <<set $north to 0>> <<set $south to 0>> <<set $east to 0>> <<set $west to 5>> <<set $location to "Undercity">> <<event "Undercity Glide Eventpool">> <</link>> <<showTime 5>> <br>
<<link "Glide east">> <<passtime 5>> <<set $x to 15>> <<set $y to 10>> <<set $depth to 5>> <<set $north to 0>> <<set $south to 0>> <<set $east to 5>> <<set $west to 0>> <<set $location to "Undercity">> <<event "Undercity Glide Eventpool">> <</link>> <<showTime 5>> <br>
<<link "Glide south">> <<passtime 5>> <<set $x to 10>> <<set $y to 15>> <<set $depth to 5>> <<set $north to 0>> <<set $south to 5>> <<set $east to 0>> <<set $west to 0>> <<set $location to "Undercity">> <<event "Undercity Glide Eventpool">> <</link>> <<showTime 5>> <br>
<br>
<<link "Nevermind" "Sector E3">> <<set $region to "Slum">> <</link>><<if $visit.includes(passage()) is false>>
You approach the Hell Gate to peer at the abyss below, avoiding the collapsed steel railings that were supposed to prevent such thing. You see parts of the city platform are starting to break down, making the Hell Gate a little bit bigger each day. The ground below your feet does feel a little unstable. <br> <br>
Perhaps that's why you are the only who dares to step so close... <br> <br>
<<else>>
You stand at the edge of the Hell Gate, staring at the abyss below. <br> <br>
<</if>>
<<link "Throw something away..." "Undercity Item Dump">>
<</link>> <br>
<<if $body.external["back"] isnot "none" and setup[$body.external["back"][0]].glide is 1>>
<<link "Glide down with your wings" "Slum Hell Gate Glide">> <</link>> <br> <</if>>
<br>
<-- <<link "Go back" "Sector E3">> <</link>><-- <<link "Nevermind">> <<goto "Undercity Look">> <</link>>
<br> <br>
<span style="color:gold"> Categories </span>
<span data-nokeys="true">
<<for _i to 0; _i lt $inventory.length; _i++>> <<capture _i>>
| <<if $invTarget isnot _i>> <<link "<<= setup.invCat[_i]>>" "Undercity Item Dump">> <<set $pageStart to 0>> <<set $pageEnd to 10>> <<set $invTarget to _i>> <</link>> <<else>> <<= setup.invCat[_i]>> <</if>> (<<= $inventory[_i].length>>)
<</capture>> <</for>>
</span>
<br> <br>
<<for _i to $pageStart; _i lt $pageEnd; _i++>>
<<if _i lt $inventory[$invTarget].length>> <<capture _i>>
<div class="cardBox"> <<set _id to $inventory[$invTarget][_i][0]>> <<capture _id>>
<<= setup[_id].name>> <<if $inventory[$invTarget][_i][2] isnot undefined>> (<<= $inventory[$invTarget][_i][2]>>) <</if>> <<if setup[_id].nonStack is undefined>> x<<= $inventory[$invTarget][_i][1]>> <<else>> <<percent $inventory[$invTarget][_i][1] setup[_id].dura green>> <</if>> - <span data-nokeys="true"> <<link "[?]">> <<dialog>> <<itemDesc>> <</dialog>> <</link>> </span> <br>
<<if setup[_id].nonStack is undefined>>
<<link "Throw one">> <<loseItem $invTarget _id 1>> <<set $itemSelected to _id>> <<set $itemSelectedIndex to _i>> <<set $itemAmount to 1>> <<goto "Undercity Item Falls">> <</link>>
- <<link "Throw all">> <<set $itemAmount to $inventory[$invTarget][_i][1]>> <<set $inventory[$invTarget].deleteAt(_i)>> <<set $itemSelected to _id>> <<set $itemSelectedIndex to _i>> <<goto "Undercity Item Falls">> <</link>>
<<else>>
<<link "Throw">> <<set $inventory[$invTarget].deleteAt(_i)>> <<set $itemSelected to _id>> <<set $itemSelectedIndex to _i>> <<set $itemAmount to 1>> <<goto "Undercity Item Falls">> <</link>>
<</if>>
<</capture>> </div>
<</capture>>
<</if>> <</for>>
<<if $inventory[$invTarget].length gt 10>>
<<if $pageStart gt 0>> <<link "Previous page" "Undercity Item Dump">>
<<set $pageStart -= 10>> <<set $pageEnd -= 10>>
<</link>>
<<else>> Previous page <</if>> |
<<if $pageEnd lt $inventory[$invTarget].length>> <<link "Next page" "Undercity Item Dump">>
<<set $pageStart += 10>> <<set $pageEnd += 10>>
<</link>>
<<else>> Next page <</if>> ($pageStart - $pageEnd)
<</if>>You watch your <<= setup[$itemSelected].name>> fall and disappear into the darkness, lost forever. <br> <br>
<<set _flag to "dump" + $itemSelected>> <<questFlag _flag $itemAmount>>
<<for _f to 0; _f lt setup[$itemSelected].tags.length; _f++>>
<<set _flag to "dumpFlag" + setup[$itemSelected].tags[_f]>> <<questFlag _flag $itemAmount>>
<</for>>
<<link "Throw something else" "Undercity Item Dump">> <</link>> <br>
<<link "Continue" "Undercity Look">> <</link>>