all the variable in the story script are place in the SugarCube.State.active.variables
, so we can list and search and change it like we are useing the CE.
.
memory search
// search a number `2046` that can direct see in game from memory
Object.keys(SugarCube.State.active.variables).map(K=>SugarCube.State.active.variables[K]===2046 ? K : undefined).filter(T=>T)
// then it tell whitch game variable (name) have this value (as a list)
-> ['xxxxx', 'aaaaa', 'bbbbb' ]
// then read or write the var
SugarCube.State.active.variables.xxxxx
SugarCube.State.active.variables.xxxxx = 1000000
trauma
traumasaved
arousal
tiredness
tiredness
stress
physique
beauty
trauma
<<if $stressmax is undefined or $stressmax is 10010>>
<<set $stressmax to 10000>>
<</if>>
<<if $tirednessmax is undefined>>
<<set $tirednessmax to 2000>>
<</if>>
<<if $physiquemax is undefined>>
<<set $physiquemax to 20000>>
<</if>>
<<if $beautymax is undefined>>
<<set $beautymax to 10000>>
<</if>>
<!-- v.0.3.12.1 Fix classroom attendance vars -->
<<if _version lte 31201>>
<<set $scienceattended to $scienceattended || 0>>
<<set $mathsattended to $mathsattended || 0>>
<<set $englishattended to $englishattended || 0>>
<<set $historyattended to $historyattended || 0>>
<<set $swimmingattended to $swimmingattended || 0>>
<</if>>
SugarCube.State.active.variables
money
tending
physique
danceskill
swimmingskill
athletics
skulduggery
willpower
tending
science
maths
english
history
############################### game/base-system/overlays/characteristics.twee
纯洁
purity
100
容貌
beauty
beautymax
体能
physique
意志
willpower
willpowermax
性知识
awareness
100
淫乱度
promiscuity
100
露出癖
exhibitionism
100
异种癖
deviancy
100
<span class="gold">Skills</span>
<div id="base-skills" class="characteristic-box-list" @style="($parasite.left_ear.name == 'slime' || $parasite.right_ear.name == 'slime') ? '--min-width: 30%;' : ''">
<!--Additional skills configurations-->
<<silently>>
<<set _corruptionConfig = { name : "Corruption", displayType : "none", currentValue : $corruption_slime, modifier: 100, modTypes: { good: [], bad: [] }, meterColor: 'red'}>>
<<set _skulduggeryConfig = { name : "Skulduggery", displayType : "grade", currentValue : $skulduggery, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>>
<<set _dancingConfig = { name : "Dancing", displayType : "grade", currentValue : $danceskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<set _swimmingConfig = { name : "Swimming", displayType : "grade", currentValue : $swimmingskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>>
<<set _athleticsConfig = { name : "Athletics", displayType : "grade", currentValue : $athletics, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>>
<<set _tendingConfig = { name : "Tending", displayType : "grade", currentValue : $tending, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>>
<<set _housekeepingConfig = { name : "Housekeeping",displayType : "grade", currentValue : $housekeeping, modifier: 100, modTypes: { good: [], bad: [] }, states : _detailedSkillGrades}>>
诡术
corruption_slime
舞蹈
danceskill
游泳
swimmingskill
田径
athletics
护理
tending
家务
housekeeping
"corruption_slime danceskill swimmingskill athletics tending housekeeping".split(" ").filter(T => !!T).map(N => SugarCube.State.active.variables[N]=100);
<span class="gold">Sex Skills</span>
<!--Sex skills configurations-->
<<silently>>
<<set _seductionConfig = { name : "Seduction", displayType : "grade", currentValue : $seductionskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<set _oralConfig = { name : "Oral", displayType : "grade", currentValue : $oralskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<set _chestConfig = { name : "Chest", displayType : "grade", currentValue : $chestskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<set _handsConfig = { name : "Hands", displayType : "grade", currentValue : $handskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<set _buttocksConfig = { name : "Buttocks", displayType : "grade", currentValue : $bottomskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<set _analConfig = { name : "Anal", displayType : "grade", currentValue : $analskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<set _thighsConfig = { name : "Thighs", displayType : "grade", currentValue : $thighskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<set _feetConfig = { name : "Feet", displayType : "grade", currentValue : $feetskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<if $player.penisExist>>
<<set _penileConfig = { name : "Penile", displayType : "grade", currentValue : $penileskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<</if>>
<<if playerHasStrapon()>>
<<set _penileConfig = { name : "Strap-on use",displayType : "grade", currentValue : $penileskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<</if>>
<<if $player.vaginaExist>>
<<set _vaginalConfig = { name : "Vaginal", displayType : "grade", currentValue : $vaginalskill, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<</if>>
<</silently>>
魅惑
seductionskill
口部
oralskill
胸部
chestskill
手部
handskill
臀部
bottomskill
后庭
analskill
小穴
vaginalskill
足部
feetskill
腿部
thighskill
penile
penileskill
"seductionskill oralskill chestskill handskill bottomskill analskill vaginalskill feetskill thighskill penileskill".split(" ").filter(T => !!T).map(N => SugarCube.State.active.variables[N]=1000);
<br>
<span class="gold">School Performance</span>
<div id="school-grades" class="characteristic-box-list">
<!--School grade configurations-->
<<silently>>
<<set _schoolGradeStates= [
{ requiredValue: -1, level: 'F', color: 'red'},
{ requiredValue: 0, level: 'D', color: 'purple'},
{ requiredValue: 1, level: 'C', color: 'blue'},
{ requiredValue: 2, level: 'B', color: 'lblue'},
{ requiredValue: 3, level: 'A', color: 'teal'},
{ requiredValue: 4, level: 'A*', color: 'green'}
]>>
<<set _scienceConfig = { name : 'Science', icon : 'misc/icon/science', displayType : "grade", currentValue : $sciencetrait, modifier: 100, modTypes: { good: [], bad: [] }, percent: $science_exam, showStars: true, starLevel: $science_star, states : _schoolGradeStates}>>
<<set _mathsConfig = { name : 'Maths', icon : 'misc/icon/math', displayType : "grade", currentValue : $mathstrait, modifier: 100, modTypes: { good: [], bad: [] }, percent: $maths_exam, showStars: true, starLevel: $maths_star, states : _schoolGradeStates}>>
<<set _englishConfig = { name : 'English', icon : 'misc/icon/english', displayType : "grade", currentValue : $englishtrait, modifier: 100, modTypes: { good: [], bad: [] }, percent: $english_exam, showStars: true, starLevel: $english_star, states : _schoolGradeStates}>>
<<set _historyConfig = { name : 'History', icon : 'misc/icon/history', displayType : "grade", currentValue : $historytrait, modifier: 100, modTypes: { good: [], bad: [] }, percent: $history_exam, showStars: true, starLevel: $history_star, states : _schoolGradeStates}>>
<<if $moorLuck gt 0>>
<span class="gold">Weapon skills</span>
<div id="prof" class="characteristic-box-list">
<<silently>>
<<set _sprayConfig = { name : "Sprays", displayType : "grade", currentValue : $prof.spray, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<set _netConfig = { name : "Nets", displayType : "grade", currentValue : $prof.net, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<<set _hiddenConfig = { name : "<i>????</i>", displayType : "grade", currentValue : 0, modifier: 100, modTypes: { good: [], bad: [] }, states : _basicSkillGrades}>>
<</silently>>
SugarCube.State.active.variables.prof.spray = 1000
SugarCube.State.active.variables.prof.net = 1000
###############################
<<foldout false "_charFoldout">>
<span class="gold">Characteristics</span>
Purity: <<print Math.trunc($purity)>>
<br>
Beauty: <<print Math.trunc($beauty)>>
<br>
Physique: <<print Math.trunc($physique)>>
<br>
Willpower: <<print Math.trunc($willpower)>>
<br>
Awareness: <<print Math.trunc($awareness)>>
<br>
Promiscuity: <<print Math.trunc($promiscuity)>>
<br>
Exhibitionism: <<print Math.trunc($exhibitionism)>>
<br>
Deviancy: <<print Math.trunc($deviancy)>>
<br>
Corruption: <<print Math.trunc($corruption_slime)>>
<br>
<<if $temple_rank is "initiate" or $temple_rank is "monk" or $temple_rank is "priest">>
Grace: <<print Math.trunc($grace)>>
<br>
<</if>>
Submissiveness: <<print Math.trunc($submissive)>>
<br>
Masochism: <<print Math.trunc($masochism)>>
<br>
Sadism: <<print Math.trunc($sadism)>>
<br>
############################### game/base-system/caption.twee
<div id="statmeters">
<<if $gamemode isnot "soft">>
<<paincaption>>
<</if>>
<<arousalcaption>>
<<tirednesscaption>>
<<stresscaption>>
<<if $innocencestate is 1>>
<<innocencecaption>>
<<else>>
<<traumacaption>>
<</if>>
<<if $gamemode isnot "soft">>
<<controlcaption>>
<</if>>
<<allurecaption>>
<<if $underwater is 1>>
<<oxygencaption true>>
<</if>>
<<drunkcaption>><<druggedcaption>><<hallucinogencaption>>
</div>
######## game/base-system/widgets.twee
疼痛
pain
性奋
arousal
疲劳
tiredness
压力
stress
纯真?无辜?
innocencestate ? awareness : traumamax
意识?认罪?
awareness
创伤
traumamax
自控 [more is better]
control
controlmax
诱惑 [dynamic calc by another info]
allure
醉酒
drunk
春药
drugged
幻觉
hallucinogen
["drunk","drugged","hallucinogen"].map(T=> SugarCube.State.active.variables[T]);
###############################
######## game/base-system/time/time.js
scienceprojectdays
community_service
function dailySchoolEffects() {
function dayPassed() {
神殿
恩典
grace
100
temple_chastity_timer
SugarCube.State.active.variables.grace = 100
####### game/overworld-town/loc-temple/widgets.twee
<<widget "inittemple">>
<<set $temple_rank to "initiate">>
<<set $player.virginity.temple to true>>
<<set $temple_garden to 0>>
<<set $temple_quarters to 0>>
<<set $grace to 0>>
<<set $temple_harassed to 0>>
<<set $temple_chastity_timer to 30>>
<<set $temple_event to 1>>
<</widget>>
####### game/overworld-town/loc-shop/widgets.twee
####################################### game/base-system/overlays/social.twee
<br>
<span class="gold">Reputation</span>
<div id="faction-reputations" class="relation-box-list">
<<silently>>
/* Police config */
<<set _policeCrimeConfig = { currentValue : $crimehistory, states : [
{ requiredValue: 0, color: 'green', description: 'The police aren\'t concerned with you,'},
{ requiredValue: 1000, color: 'teal', description: 'The police have you on their records,'},
{ requiredValue: 2000, color: 'lblue', description: 'The police consider you a person of interest,'},
{ requiredValue: 3000, color: 'blue', description: 'The police consider you a troublemaker,'},
{ requiredValue: 5000, color: 'purple', description: 'The police consider you a criminal,'},
{ requiredValue: 10000, color: 'pink', description: 'The police have a binder devoted to you,'},
{ requiredValue: 30000, color: 'red', description: 'The police have a filing cabinet devoted to you,'}
]}>>
<<set _policeEvidenceConfig = { currentValue : $crimehistory, secondaryValue : $crime, states : [
{ requiredValue: 0, secondaryStates : [
{ requiredValue: 0, color: 'green', description: 'and have no evidence linking you to any crime.'},
{ requiredValue: 1, color: 'teal', description: 'despite having a little evidence linking you to crime.'},
]},
{ requiredValue: 1000, secondaryStates : [
{ requiredValue: 0, color: 'green', description: 'but lack enough evidence for an arrest.'},
{ requiredValue: 1000, color: 'pink', description: 'and have enough evidence for an arrest.'},
{ requiredValue: 5000, color: 'red', description: 'and have more than enough evidence for an arrest.'},
]}
]}>>
<<set _policeBoxConfig = { name : "Police", icon : "img/misc/icon/police.png", description: "<<relation-text _policeCrimeConfig>> <<relation-text _policeEvidenceConfig>>"}>>
警察局
警方认为你是一个罪犯
crimehistory
但缺乏足够证据来实施逮捕
crime
SugarCube.State.active.variables.crimehistory = 0
SugarCube.State.active.variables.crime = 0
##################################### game/base-combat/ejaculation-sydney.twee
############### game/03-JavaScript/named-npc.js
function statusCheck(name) {
if (V.NPCNameList.includes(name)) {
const nnpc = V.NPCName[V.NPCNameList.indexOf(name)];
/* To remove later */
if (V.options.debugdisable === "t" && V.debug === 0) {
T[name.toLowerCase()] = nnpc;
}
/* To remove later */
/* Assume this is successful, unless the game is severely unhinged. */
if (nnpc.init === 1) {
switch (nnpc.nam) {
case "Robin":
getRobinLocation();
break;
case "Kylar":
kylarStatusCheck(nnpc);
break;
case "Sydney":
sydneyStatusCheck();
break;
}
}
return nnpc;
} else {
Errors.report(`getNNPC received an invalid name ${name}.`);
}
}
window.statusCheck = statusCheck;
function sydneyStatusCheck() {
const sydney = V.NPCName[V.NPCNameList.indexOf("Sydney")];
if (sydney.purity >= 50 && sydney.lust >= 60) T.sydneyStatus = "pureLust";
else if (sydney.corruption >= 10 && sydney.lust >= 20) T.sydneyStatus = "corruptLust";
else if (sydney.purity >= 50) T.sydneyStatus = "pure";
else if (sydney.corruption >= 10) T.sydneyStatus = "corrupt";
else if (sydney.lust >= 40) T.sydneyStatus = "neutralLust";
else T.sydneyStatus = "neutral";
if (sydney.chastity.penis.includes("chastity") || sydney.chastity.vagina.includes("chastity")) T.sydneyChastity = 1;
if (sydney.virginity.vaginal && sydney.virginity.penile) T.sydneyVirgin = 1;
}
SugarCube.State.active.variables.NPCName
SugarCube.State.active.variables.NPCNameList
SugarCube.State.active.variables.NPCName[SugarCube.State.active.variables.NPCNameList.indexOf("Sydney")]
############################################### game/03-JavaScript/sextoys.js
############## game/03-JavaScript/sexToysInventory.js
####### game/03-JavaScript/sexShopMenu.js
function sexShopOnBuyClick(index, inSexShop = true, colour, costsMoney = true) {
const item = setup.sextoys[index];
let iconClassName = "";
if (inSexShop) {
iconClassName = document.getElementById("ssm_desc_img").className;
sexShopOnBuyClick.counter = sexShopOnBuyClick.counter || "off";
}
sexShopOnBuyClick( NNNNNNNNNNN , false, 'pink' , false );
setup.sextoys.map( T => sexShopOnBuyClick( T.index , false, 'pink' , false ) );
###################### game/base-system/deviancy.twee
<<widget "combatdeviancyN">>
<<set $_n to _args[0]>>
<<if $consensual is 1 or $_n is 6>>
<<set $_scaledDeviancyMax to 20 * $_n>>
<<if $deviancy lt $_scaledDeviancyMax>>
<<set $deviancy += ($control lt $controlmax ? 2 : 1)>>
<<if $control lt $controlmax>>
<<set _combat_deviancy_success to (_combat_deviancy_success gte $_n ? _combat_deviancy_success : $_n)>>
<<if $_n is 6>><<set $control to $controlmax>><<else>><<control 25>><</if>>
<<else>>
<<set _combat_deviancy_max_control to $_n>>
<</if>>
<<if $_n is 6>><<combattrauma 40>><<else>><<stress $_n -300>><<combattrauma `$_n * -30`>><</if>>
<<else>>
<<set _combat_deviancy_failure to $_n>>
<<if V.daily["deviancyStress" + $_n] isnot 1 and $statFreeze isnot true>>
<<set V.daily["deviancyStress" + $_n] to 1>><<stress $_n -100>>
<</if>>
<</if>>
<<arousal `$_n * 100`>>
<</if>>
<<set $deviancy to Math.clamp($deviancy, 0, 100)>>
<</widget>>
<<widget "combat_deviancy_text">>
<<if _combat_deviancy_success>>
<br>
<<if _combat_deviancy_success is 6>>
Your crazed act of deviancy <span class="green">fully restores your sense of control</span>, <span class="red">but inflicts damage to your mental state</span>.<<gggcontrol>><<ggtrauma>><<ggarousal>>
<<else>>
Your deviant behaviour <span class="green">restores your sense of control.</span><<ggcontrol>><<ltrauma>><<lstress>><<garousal>>
<</if>>
<<elseif _combat_deviancy_max_control>>
<br>
<<if _combat_deviancy_success is 6>>
You already feel in control, <span class="red">leaving you unfulfilled as your act of manic depravity seems wasted</span>.<<gggcontrol>><<ggtrauma>><<ggarousal>>
<<else>>
Your deviant behaviour <span class="green">soothes and excites you.</span><<ltrauma>><<lstress>><<garousal>>
<</if>>
<<elseif _combat_deviancy_failure>>
<br>
Your behaviour is deviant, <span class="pink">though it's too tame to soothe.</span><<garousal>>
<</if>>
<</widget>>
########## game/base-system/promiscuity.twee
淫乱
########## game/base-system/exhibitionism.twee
露出癖
########## game/base-system/deviancy.twee
异种癖
##########