<div class="menuScreen"><<switch $EDreamLiveDons.menuMode>>\n\n<<case "RenameDons">>\n/% ======================================== %/\n/% Rename Menu %/\n<div class="pMenu"><h4 class="titleMini">Rename</h4><center>\n\t<div class="indent">\t\n\t\t<div class="vSpace"><b>Name</b> <<textbox "$EDreamDonsInput.pendRename" "New Name" autofocus>></div><br>\n\t</div>\n\t<<button "Rename" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.menuMode = ""; $EDreamLiveDons.confRename = 1; $EDreamDonsair.actOverride = "squeaks as you present the new name!">><</button>>\n\t<<button "Cancel" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.menuMode = ""; $EDreamDonsair.Action = "actIdleLiving">><</button>>\n\n</center></div>\n\n/% ======================================== %/\n/% Stat Definitions %/\n\n<<case "statTooltip">>\n<div class="pMenu"><h4 class="titleMini">Statistics</h4>\n\t<div class="indent"><<switch $EDreamLiveDons.tooltip>>\n\t\t<<case "vitality">>\n\t\t<b><h5>Vitality (Vit)</h5></b><p>\n\t\tA shard's current and maximum life force.<br> \n\t\t<b>When Vitality reaches 0, the shard has a 33% chance of dying!</b> <br>\n\t\tOtherwise, they will <b>wake up partially healed, <i>somewhere else...</i></b><br>\n\t\tVitality exceeding maximum (Overhealing) is temporary-- <b>upon resting, it will be converted into [Stockpile].</b>\n\t\t</p>\n\n\t\t<<case "corpulence">>\n\t\t<b><h5>Corpulence (Corp)</h5></b><p>\n\t\tA shard's overall weight, calculated by adding all individual body parts.\n\t\t</p>\n\n\t\t<<case "armor">>\n\t\t<b><h5>Armor (Arm)</h5></b><p>\n\t\tA shard's armor against physical attacks (ineffective against magic or psionics!).<br>\n\t\tThis is <b>subtracted from any incoming damage before it's applied to Vitality</b>. \n\t\tIt's possible to take no damage at all if armor is high enough.\n\t\t</p>\n\n\t\t<<case "strength">>\n\t\t<b><h5>Strength (Str)</h5></b><p>\n\t\tA shard's physical prowess, used to determine the outcome of strength checks,<br> \n\t\tdamage dealt with physical attacks, and how much a shard can lift or carry.\n\t\t</p>\n\n\t\t<<case "will">>\n\t\t<b><h5>Will (Str)</h5></b><p>\n\t\tA shard's mental acuity, used to determine the effect and damage of magical and/or psionic abilities.<br> \n\t\tA portion of Will (TBD) functions as armor for the purposes of defending against magic and psionics.\n\t\t</p>\n\n\t\t<<case "finesse">>\n\t\t<b><h5>Finesse (Fin)</h5></b><p>\n\t\tA shard's grace and swiftness, used to determine the outcome of agility and speed-based checks.<br> \n\t\tHigh finesse can enable a shard to execute physical strikes more often, or to fully dodge physical and ranged attacks.\n\t\t</p>\n\n\t\t<<case "perception">>\n\t\t<b><h5>Perception (Perc)</h5></b><p>\n\t\tA shard's observational skills, representing the ability to notice details and find obscured things.<br> \n\t\tNecessary for tracking as well as for hitting targets with ranged abilities.\n\t\t</p>\n\n\t\t<<case "whimsy">>\n\t\t<b><h5>Whimsy (Whim)</h5></b><p>\n\t\tA shard's attunement with the Dream and dreamlike, surreal concepts and events;<br> \n\t\tWhimsy can boost the potency of magic and psionics.<br> \n\t\tWhimsy is the Revix equivalent to Sanity for <i>somnix</i>.\n\t\t</p>\n\n\t\t<<case "sanity">>\n\t\t<b><h5>Sanity (San)</h5></b><p>\n\t\tA shard's conformance with <i>somnix</i> concepts of mental "rightness" and "reality";<br> \n\t\texperiencing unsettling events and breaks with <i>somnix</i>-acceptable models of reality<br> \n\t\tcan cause degradation and loss of Sanity.<br>\n\t\tCreatures with low Sanity are more accepting and more likely to embrace Whimsical or eldritch concepts and occurrances.\n\t\t</p>\n\n\t\t<<case "stockpile">>\n\t\t<b><h5>Stockpile</h5></b><p>\n\t\tHow much food energy a shard has recently consumed (multiplied by Stock X).<br> \n\t\tEach rest period, Gain is subtracted from Stock.\n\t\t</p>\n\n\t\t<<case "stockX">>\n\t\t<b><h5>Stockpile Multiplier (Stock x)</h5></b><p>\n\t\tThe rate at which the shard takes in food energy (Stockpile).<br>\n\t\tStock x can be higher or lower than the basepoint (1.0).\n\t\t</p>\n\n\t\t<<case "gain">>\n\t\t<b><h5>Gain</h5></b><p>\n\t\tHow quickly the shard gains weight during rest periods, pulling from Stk.<br>\n\t\tEach rest period, Gain is subtracted from Stk and added to the fat regions of the Player's choice, allocated as they like.\n\t\t</p>\n\n\t\t<<case "stretch">>\n\t\t<b><h5>Stretch</h5></b><p>\n\t\tHow elastic a shard is versus current <b>Bloat</b>.<br>\n\t\t<b>If Bloat exceeds Stretch, the shard takes Vit damage each action.</b>\n\t\t</p>\n\t\n\t<</switch>></div>\n<center>\n\t<<button "Back" "StatTracker">><<set $EDreamLiveDons.menuMode = "">><</button>>\n</center></div>\n\n\n/% ======================================== %/\n/% Input DNA Serial %/\n\n<<case "inputSerial">>\n\n<div class="inputDNA"><div class="indent" style="max-width: 30%;"><b>Input DNA String</b><center>\n\t\t<div> <<textarea "$EDXDonsSerial.input" "" autofocus>></div>\n\n\t<p>\n\t<<button "Load" "DonsairMain">><<set $EDreamLiveDons.Mode = "fromDNA"; $EDreamLiveDons.menuMode = "">><</button>> \n\t<<button "Test Outputs" "Start">><<set $EDreamLiveDons.menuMode = "printSerial">><</button>>\n\t<<button "Cancel" "Start">><<set $EDreamLiveDons.menuMode = "">><</button>></p>\n\t</center>\n</div>\n\n\n/% ======================================== %/\n/% Debug: Read DNA Serial Input %/\n\n<<case "printSerial">><<include EDX-DonsairLoadSerial>>\n\n<div class="inputDNA" style="top: 15% !important;"><div class="indent" style="max-width: 30%; background-color: #171e2fd1; padding: 1.5rem;"><b>Debug Serial Readout</b><center>\n\t\t<div><p>\n\t\t\t<b>Processing...</b><br> \n\t\t\t\t<span>Species: <<print $EDXDonsNew.Species>></span>\n\t\t\t\t<span>Subspecies: <<print $EDXDonsNew.Subspec>></span>\n\t\t\t\t<span>Personality: <<print $EDXDonsNew.baseMood>></span>\n\t\t\t\t<span>Img: <<print $EDXDonsNew.img>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Vitality: <<print $EDXDonsNew.vit>></span>\n\t\t\t\t<span>Armor: <<print $EDXDonsNew.arm>></span>\n\t\t\t\t<span>Strength: <<print $EDXDonsNew.str>></span>\n\t\t\t\t<span>Will: <<print $EDXDonsNew.will>></span>\n\t\t\t\t<span>Finesse: <<print $EDXDonsNew.fin>></span>\n\t\t\t\t<span>Perception: <<print $EDXDonsNew.perc>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Body Type: <<print $EDXDonsNew.bType>></span>\n\t\t\t\t<span>Chest: <<print $EDXDonsNew.chest>></span>\n\t\t\t\t<span>Belly: <<print $EDXDonsNew.belly>></span>\n\t\t\t\t<span>Body: <<print $EDXDonsNew.body>></span>\n\t\t\t\t<span>Thigh: <<print $EDXDonsNew.thigh>></span>\n\t\t\t\t<span>Tail: <<print $EDXDonsNew.tail>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Gain: <<print $EDXDonsNew.gain>></span>\n\t\t\t\t<span>Stock x: <<print $EDXDonsNew.stockX>></span>\n\t\t\t\t<span>Stretch: <<print $EDXDonsNew.stretch>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Egg Type: <<print $EDXDonsNew.eggType>></span>\n\t\t\t\t<span>Milk Type: <<print $EDXDonsNew.milkType>></span><br>\n\t\t\t\t<span>Venom Type: <<print $EDXDonsNew.venomType>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Clutch Rate: <<print $EDXDonsNew.clutchRate>></span>\n\t\t\t\t<span>Milk Rate: <<print $EDXDonsNew.milkRate>></span>\n\t\t\t\t<span>Milkfat: <<print $EDXDonsNew.milkfat>></span>\n\t\t\t\t<span>Venom Rate: <<print $EDXDonsNew.venomRate>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Base Color: <<print $EDXDonsNew.baseColor>></span>\n\t\t\t\t<span>Base Dilute: <<print $EDXDonsNew.baseDilute>></span>\n\t\t\t\t<span>Belly Color: <<print $EDXDonsNew.bellyColor>></span>\n\t\t\t\t<span>Belly Dilute: <<print $EDXDonsNew.bellyDilute>></span><br>\n\t\t\t\t<span>Accent Color: <<print $EDXDonsNew.compColor>></span>\n\t\t\t\t<span>Accent Dilute: <<print $EDXDonsNew.compDilute>></span>\n\t\t\t\t<span>Marking Color: <<print $EDXDonsNew.markColor>></span><br>\n\t\t\t\t<span>Marking Dilute: <<print $EDXDonsNew.markDilute>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Pattern Presence: <<print $EDXDonsNew.patPres>></span>\n\t\t\t\t<span>White Spotting: <<print $EDXDonsNew.whiteSpot>></span>\n\t\t\t\t<span>Grey: <<print $EDXDonsNew.Grey>></span>\n\t\t\t\t<span>Freckle: <<print $EDXDonsNew.Freckle>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Gradient: <<print $EDXDonsNew.Gradient>></span>\n\t\t\t\t<span>Filigree: <<print $EDXDonsNew.Filigree>></span>\n\t\t\t\t<span>Harlequin: <<print $EDXDonsNew.Harlequin>></span>\n\t\t\t\t<span>Stripe: <<print $EDXDonsNew.Stripe>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Ink: <<print $EDXDonsNew.Ink>></span>\n\t\t\t\t<span>Anomaly: <<print $EDXDonsNew.Anomaly>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Ear: <<print $EDXDonsNew.phnEar>></span>\n\t\t\t\t<span>Snoot: <<print $EDXDonsNew.phnSnoot>></span>\n\t\t\t\t<span>Eye: <<print $EDXDonsNew.phnEye>></span>\n\t\t\t\t<span>Pupil: <<print $EDXDonsNew.phnPupil>></span><br>\n\t\t\t\t<span>Head Decoration: <<print $EDXDonsNew.phnHeadDeco>></span>\n\t\t\t\t<span>Rierbien: <<print $EDXDonsNew.phnRbien>></span>\n\t\t\t\t<span>Teeth: <<print $EDXDonsNew.phnTeeth>></span>\n\t\t\t\t<span>Paw: <<print $EDXDonsNew.phnPaw>></span>\n\t\t\t\t<span>Limb: <<print $EDXDonsNew.phnLimb>></span>\n\t\t\t\t<span>Bean: <<print $EDXDonsNew.phnBean>></span>\n\t\t\t\t<span>Scale: <<print $EDXDonsNew.phnScale>></span>\n\t\t\t\t<span>Belly: <<print $EDXDonsNew.phnBelly>></span><br>\n\t\t\t\t<span>Spine: <<print $EDXDonsNew.phnSpine>></span>\n\t\t\t\t<span>Tail: <<print $EDXDonsNew.phnTail>></span>\n\t\t\t\t<span>Wing: <<print $EDXDonsNew.phnWing>></span>\n\t\t\t\t<span>Theme: <<print $EDXDonsNew.phnTheme>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Viviere: <<print $EDXDonsNew.mutViviere>></span>\n\t\t\t\t<span>Ovian: <<print $EDXDonsNew.mutOvian>></span>\n\t\t\t\t<span>Slime: <<print $EDXDonsNew.mutSlime>></span>\n\t\t\t\t<span>Pudding: <<print $EDXDonsNew.mutPudding>></span>\n\t\t\t\t<span>Balloon: <<print $EDXDonsNew.mutBalloon>></span>\n\t\t\t\t<span>Plushie: <<print $EDXDonsNew.mutPlushie>></span>\n\t\t\t\t<span>Adiposa: <<print $EDXDonsNew.mutAdiposa>></span>\n\t\t\t\t<span>Confection: <<print $EDXDonsNew.mutConfection>></span>\n\t\t\t\t<span>Epicurean: <<print $EDXDonsNew.mutEpicurean>></span>\n\t\t\t\t<span>Evian: <<print $EDXDonsNew.mutEvian>></span>\n\t\t\t\t<span>Honeypot: <<print $EDXDonsNew.mutHoneypot>></span>\n\t\t\t\t<span>Greenhouse: <<print $EDXDonsNew.mutGreenhouse>></span>\n\t\t\t\t<span>Rosebelly: <<print $EDXDonsNew.mutRosebelly>></span>\n\t\t\t\t<br>\n\t\t\t\t<span>Fyynmorph: <<print $EDXDonsNew.tfFyynmorph>></span>\n\t\t\t\t<span>Omniphage: <<print $EDXDonsNew.tfOmniphage>></span>\n\t\t\t\t<span>Realization: <<print $EDXDonsNew.tfRealization>></span>\n\t\t\t\t<span>Mirlait: <<print $EDXDonsNew.tfMirlait>></span>\n\t\t\t\t<br>\n\n\t\t</p></div>\n\n\t<p><<button "Back" "Start">><<set $EDreamLiveDons.menuMode = "">><</button>></p>\n\t</center>\n</div>\n\n/% ======================================== %/\n/% Input Breeding Serial %/\n\n<<case "inputBreeding">><div class="pMenu" style="margin-left: initial; padding: 2rem;"><div class="indent" style="max-width: 30%;">\n\t\t<div class="vSpace"><b>Name (Optional)</b> \n\t\t<<textbox "$EDXProgen2.Name" "Progen 2">></div><br>\n\t\t\n\t\t<b>Input Progenitor DNA String</b>\n\t\t<div> <<textarea "$EDXProgen2.input" "" autofocus>></div><br>\n\n\t<p><center>\n\t<<button "Breed Donsair" "DonsairBreed">><<set $EDreamLiveDons.Mode = ""; $EDreamLiveDons.menuMode = "">><</button>> \n\t<<button "Cancel" "DonsairMain">><<set $EDreamLiveDons.menuMode = "">><</button>>\n\t</center></p>\n\t\n</div>\n\n\n\n/% ======================================== %/\n<</switch>></div>
<<set $EDXGenebank = {\n\tEar: ["EAs","EAf","EAe","EAr","EAbt","EAb","EAl","EAlp","EAw","EAsq"],\n\tEye: ["EYs","EYm","EYx"],\n\tPupil: ["PLr","PLs","PLh","PLsq","PLx","PLsy"],\n\tSnoot: ["SNb","SNp","SNbk","SNf","SNc","SNcr","SNrx","SNt","SNex","SNsp","SNbv","SNn","SNx","SNsc"],\n\tHead: ["HDx","HDh","HDa","HDat","HDnh","HDf","HDs","HDw","HDd","HDc","HDtn","HDft","HDo","HDfr","HDl","HDHD"],\n\tRierbien: ["HDx","HDh","HDa","HDat","HDnh","HDf","HDs","HDw","HDd","HDc","HDtn","HDft","HDo","HDfr","HDl","HDHD"],\n\tTeeth: ["THs","THo","THb","THn","THsr","THp","THl","THj","THbk","THx"],\n\tPaw: ["THs","THo","THb","THn","THsr","THp","THl","THj","THbk","THx"],\n\tLimb: ["LBf","LBt","LBm"],\n\tBean: ["BAh","BAr","BAs","BAx"],\n\tSkin: ["SCs","SCx","SCt","SCsh","SCpb","SCf","SCfr","SCw","SCd","SCbt","SCfl","SCth","SCsk","SCb","SCc"],\n\tBelly: ["BEs","BEg","BEc","BEf","BEfe","BEed","BEsc","BEm"],\n\tSpine: ["SPs","SPb","SPl","SPlo","SPd","SPfn","SPdf","SPft","SPm","SPe","SPc"],\n\tTail: ["TAt","TAw","TAn","TAf","TAsq","TAm","TAg","TAb","TAc","TAcl","TAfk","TAfn","TAs","TAp","TAi","TAed","TAmt","TAph"],\n\tWings: ["WNx","WNf","WNw","WNp","WNi","WNe","WNb"],\n\tTheme: ["THx","THc","THcf","THd","THm","THe","THb","THa","THg","THdt","THcr"],\n}>>
<<set $EDreamDonsair.corp = ($EDreamDonsair.chest + $EDreamDonsair.belly + $EDreamDonsair.body + $EDreamDonsair.limbs + $EDreamDonsair.thigh + $EDreamDonsair.tail)>>\n\n<<set _stretchBase = ($EDreamDonsair.chest + $EDreamDonsair.belly + $EDreamDonsair.body + $EDreamDonsair.tail + $EDreamDonsair.thigh)>>\n<<set $EDreamDonsair.maxBloat = ((_stretchBase * $EDreamDonsair.stretch) * 0.05).toFixed()>>\n\n\n/% Metabolic Processes %/\n\n/% Healing %/\n<<if ($EDreamDonsair.stock gte 1) and ($EDreamDonsair.vit lt $EDreamDonsair.maxVit)>>\n\t<<set _stretchCheck = random(1,3)>>\n\t\t<<if _stretchCheck eq 1>><<set $EDreamDonsair.vit++; $EDreamDonsair.stock-->><<endif>>\t\n<<endif>>\n\n/% Calorie Absorption/Weight Gain %/\n\t<<if $EDreamDonsair.stock gte $EDreamDonsair.gain>>\n\t\t<<set $EDreamDonsair.stock -= $EDreamDonsair.gain>>\n\t\t<<include EDX-DonsProcessGain>>\n\t<<endif>>\n\n/% Bloat Handling %/\n<<if $EDreamDonsair.bloat gt 0>><<set $EDreamDonsair.bloat -= either(0,0,1)>><<endif>>\n\n<<if $EDreamDonsair.bloat gte ($EDreamDonsair.maxBloat * 0.7)>>\n\t<<set _stretchCheck = random(1,12)>>\n\t\t<<if _stretchCheck eq 1>><<set $EDreamDonsair.stretch += 0.1>><<endif>>\t\n<<endif>>\n\n<<if $EDreamDonsair.bloat gte $EDreamDonsair.maxBloat>>\n\t<<set $EDreamDonsair.vit -= either(0,0,1)>><<endif>>\n\n\n\n/% Floors/Ceilings %/\n\n<<if $EDreamDonsair.bloat lt 0>><<set $EDreamDonsair.bloat = 0>><<endif>>\n<<if $EDreamDonsair.vit lt 0>><<set $EDreamDonsair.vit = 0>><<endif>>\n<<if $EDreamDonsair.stock lt 0>><<set $EDreamDonsair.stock = 0>><<endif>>
/% ============={ Strings A %/\n\n /% NYI until non-vec species implementations %/\n<<set $splice.Species = either($EDXProgen1.Species,$EDXProgen2.Species)>>\n<<set $splice.Subspec = "N/A"; $splice.Subtype = "">>\n\n<<set $splice.baseMood = either($EDXProgen1.baseMood,$EDXProgen2.baseMood)>>\n<<set $splice.img = either($EDXProgen1.img,$EDXProgen2.img)>>\n\n<<if $EDXProgen1.bType neq $EDXProgen1.bType>>\n<<switch $EDXProgen1.bType>> /% This might need cleaning up later, I can't focus on setting up exact combinations right now %/\n\t<<case "chest">><<switch $EDXProgen2.bType>>\t\t\n\t\t<<case "belly" "round">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType,"round")>>\n\t\t<<case "thighs" "tail" "lower">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType,"hourglass")>>\n\t\t<<case "pear">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType,"round","hourglass")>>\n\t\t<<default>><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType)>><</switch>>\n\t\t\n\t<<case "belly">><<switch $EDXProgen2.bType>>\t\t\n\t\t<<case "chest" "round">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType,"round")>>\n\t\t<<case "thighs" "tail" "lower">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType,"pear")>>\n\t\t<<case "pear">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType,"round","hourglass")>>\n\t\t<<default>><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType)>><</switch>>\n\n\t<<case "thighs">><<switch $EDXProgen2.bType>>\n\t\t<<case "belly" "round">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType,"round")>>\t\n\t\t<<case "chest">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType,"hourglass")>>\n\t\t<<case "hourglass">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType)>>\n\t\t<<case "pear">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType,"round","hourglass")>>\n\t\t<<default>><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType)>><</switch>>\n\n\t<<case "hourglass" "pear" "round">><<switch $EDXProgen2.bType>>\n\t\t<<case "belly" "round" "thighs" "pear">><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType,"round","pear")>>\t\n\t\t<<default>><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType)>><</switch>>\n\n\t<<default>><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType)>><</switch>>\n<<else>><<set $splice.bType = either($EDXProgen1.bType,$EDXProgen2.bType)>>\n<<endif>>\n\n/% PH, probably %/\n<<set $splice.eggType = either($EDXProgen1.eggType,$EDXProgen2.eggType)>>\n<<set $splice.milkType = either($EDXProgen1.milkType,$EDXProgen2.milkType)>>\n<<set $splice.venomType = either($EDXProgen1.venomType,$EDXProgen2.venomType)>>\n\n\n/% ============={ Allele Strings %/\n\n<<set _cutter0 = either($EDXProgen1.baseColor.slice(0,1),$EDXProgen2.baseColor.slice(0,1))>>\n<<set _cutter1 = either($EDXProgen1.baseColor.slice(1),$EDXProgen2.baseColor.slice(1))>>\n<<set $splice.baseColor = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.baseDilute.slice(0,1),$EDXProgen2.baseDilute.slice(0,1))>>\n<<set _cutter1 = either($EDXProgen1.baseDilute.slice(1),$EDXProgen2.baseDilute.slice(1))>>\n<<set $splice.baseDilute = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.bellyColor.slice(0,2),$EDXProgen2.bellyColor.slice(0,2))>>\n<<set _cutter1 = either($EDXProgen1.bellyColor.slice(2),$EDXProgen2.bellyColor.slice(2))>>\n<<set $splice.bellyColor = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.bellyDilute.slice(0,2),$EDXProgen2.bellyDilute.slice(0,2))>>\n<<set _cutter1 = either($EDXProgen1.bellyDilute.slice(2),$EDXProgen2.bellyDilute.slice(2))>>\n<<set $splice.bellyDilute = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.compColor.slice(0,2),$EDXProgen2.compColor.slice(0,2))>>\n<<set _cutter1 = either($EDXProgen1.compColor.slice(2),$EDXProgen2.compColor.slice(2))>>\n<<set $splice.compColor = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.compDilute.slice(0,2),$EDXProgen2.compDilute.slice(0,2))>>\n<<set _cutter1 = either($EDXProgen1.compDilute.slice(2),$EDXProgen2.compDilute.slice(2))>>\n<<set $splice.compDilute = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.markColor.slice(0,2),$EDXProgen2.markColor.slice(0,2))>>\n<<set _cutter1 = either($EDXProgen1.markColor.slice(2),$EDXProgen2.markColor.slice(2))>>\n<<set $splice.markColor = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.markDilute.slice(0,2),$EDXProgen2.markDilute.slice(0,2))>>\n<<set _cutter1 = either($EDXProgen1.markDilute.slice(2),$EDXProgen2.markDilute.slice(2))>>\n<<set $splice.markDilute = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.patPres.slice(0,1),$EDXProgen2.patPres.slice(0,1))>>\n<<set _cutter1 = either($EDXProgen1.patPres.slice(1),$EDXProgen2.patPres.slice(1))>>\n<<set $splice.patPres = _cutter0 + _cutter1>>\n\n/% These loci can have 1 or 2 alleles; how do we handle that? %/\n<<if $EDXProgen1.whiteSpot.length gt 1>><<set _alleleA = $EDXProgen1.whiteSpot.slice(0,2)>>\n<<else>><<set _alleleA = $EDXProgen1.whiteSpot.slice(0,1)>><<endif>>\n<<if $EDXProgen2.whiteSpot.length gt 1>><<set _alleleB = $EDXProgen2.whiteSpot.slice(0,2)>>\n<<else>><<set _alleleB = $EDXProgen2.whiteSpot.slice(0,1)>><<endif>>\n<<set _cutter1 = either($EDXProgen1.whiteSpot.slice(1),$EDXProgen2.whiteSpot.slice(1))>>\n<<set $splice.whiteSpot = either(_alleleA,_alleleB) + _cutter1>>\n\n<<if $EDXProgen1.Grey.length gt 1>><<set _alleleA = $EDXProgen1.Grey.slice(0,2)>>\n<<else>><<set _alleleA = $EDXProgen1.Grey.slice(0,1)>><<endif>>\n<<if $EDXProgen2.Grey.length gt 1>><<set _alleleB = $EDXProgen2.Grey.slice(0,2)>>\n<<else>><<set _alleleB = $EDXProgen2.Grey.slice(0,1)>><<endif>>\n<<set _cutter1 = either($EDXProgen1.Grey.slice(1),$EDXProgen2.Grey.slice(1))>>\n<<set $splice.Grey = either(_alleleA,_alleleB) + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.Freckle.slice(0,2),$EDXProgen2.Freckle.slice(0,2))>>\n<<set _cutter1 = either($EDXProgen1.Freckle.slice(2),$EDXProgen2.Freckle.slice(2))>>\n<<set $splice.Freckle = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.Gradient.slice(0,1),$EDXProgen2.Gradient.slice(0,1))>>\n<<set _cutter1 = either($EDXProgen1.Gradient.slice(1),$EDXProgen2.Gradient.slice(1))>>\n<<set $splice.Gradient = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.Filigree.slice(0,1),$EDXProgen2.Filigree.slice(0,1))>>\n<<set _cutter1 = either($EDXProgen1.Filigree.slice(1),$EDXProgen2.Filigree.slice(1))>>\n<<set $splice.Filigree = _cutter0 + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.Harlequin.slice(0,1),$EDXProgen2.Harlequin.slice(0,1))>>\n<<set _cutter1 = either($EDXProgen1.Harlequin.slice(1),$EDXProgen2.Harlequin.slice(1))>>\n<<set $splice.Harlequin = _cutter0 + _cutter1>>\n\n<<if $EDXProgen1.Stripe.length gt 1>><<set _alleleA = $EDXProgen1.Stripe.slice(0,2)>>\n<<else>><<set _alleleA = $EDXProgen1.Stripe.slice(0,1)>><<endif>>\n<<if $EDXProgen2.Stripe.length gt 1>><<set _alleleB = $EDXProgen2.Stripe.slice(0,2)>>\n<<else>><<set _alleleB = $EDXProgen2.Stripe.slice(0,1)>><<endif>>\n<<set _cutter1 = either($EDXProgen1.Stripe.slice(1),$EDXProgen2.Stripe.slice(1))>>\n<<set $splice.Stripe = either(_alleleA,_alleleB) + _cutter1>>\n\n<<set _cutter0 = either($EDXProgen1.Ink.slice(0,2),$EDXProgen2.Ink.slice(0,2))>>\n<<set _cutter1 = either($EDXProgen1.Ink.slice(2),$EDXProgen2.Ink.slice(2))>>\n<<set $splice.Ink = _cutter0 + _cutter1>>\n\n<<set $splice.Anomaly = either($EDXProgen1.Anomaly,$EDXProgen2.Anomaly)>>\n\n/% ============={ Phenotype %/\n\n<<include EDX-AlleleSplicer>>\n\n/% Debug %/\n/%\n<span>Species: <<print $splice.Species>> </span>\n<span>Body Type: <<print $splice.bType>> </span>\n<span>Egg Type: <<print $splice.eggType>> </span>\n<br> \n<span>Milk Type: <<print $splice.milkType>> </span>\n<span>Venom Type: <<print $splice.venomType>> </span>\n<br>\n\n<span>Base Color: <<print $splice.baseColor>> </span> <span>Base Dilute: <<print $splice.baseDilute>> </span>\n<span>Belly Color: <<print $splice.bellyColor>> </span> <span>Belly Dilute: <<print $splice.bellyDilute>> </span>\n<br>\n\n<span>Accent Color: <<print $splice.compColor>> </span> <span>Accent Dilute: <<print $splice.compDilute>> </span>\n<span>Marking Color: <<print $splice.markColor>> </span> <span>Marking Dilute: <<print $splice.markDilute>> </span>\n<br>\n\n<span>Pattern Presence: <<print $splice.patPres>> </span> <span>White Spotting: <<print $splice.whiteSpot>> </span>\n<span>Grey: <<print $splice.Grey>> </span> <span>Freckle: <<print $splice.Freckle>> </span>\n<br>\n\n<span>Gradient: <<print $splice.Gradient>> </span> <span>Filigree: <<print $splice.Filigree>> </span>\n<span>Harlequin: <<print $splice.Harlequin>> </span> <span>Stripes: <<print $splice.Stripe>> </span>\n<br>\n\n<span>Ink: <<print $splice.Ink>> </span> <span>Anomaly: <<print $splice.Anomaly>> </span>\n<br>\n\n<span>Ears: <<print $splice.phnEar>> </span>\n<span>Eyes: <<print $splice.phnEye>> </span>\n<span>Pupil: <<print $splice.phnPupil>> </span>\n<span>Snoot: <<print $splice.phnSnoot>> </span>\n<br>\n\n<span>Head: <<print $splice.phnHeadDeco>> </span>\n<span>Rierbien: <<print $splice.phnRbien>> </span>\n<span>Teeth: <<print $splice.phnTeeth>> </span>\n<br>\n\n<span>Paws: <<print $splice.phnPaw>> </span>\n<span>Limbs: <<print $splice.phnLimb>> </span>\n<span>Beans: <<print $splice.phnBean>> </span>\n<span>Skin: <<print $splice.phnScale>> </span>\n<br>\n\n<span>Belly: <<print $splice.phnBelly>> </span>\n<span>Spine: <<print $splice.phnSpine>> </span>\n<span>Tail: <<print $splice.phnTail>> </span>\n<span>Wings: <<print $splice.phnWing>> </span>\n<br>\n\n<span>Theme: <<print $splice.phnTheme>> </span>\n\n %/\n
<<set $EDreamDonsair.corp = ($EDreamDonsair.chest + $EDreamDonsair.belly + $EDreamDonsair.body + $EDreamDonsair.limbs + $EDreamDonsair.thigh + $EDreamDonsair.tail)>>\n\n<<set _stretchBase = ($EDreamDonsair.chest + $EDreamDonsair.belly + $EDreamDonsair.body + $EDreamDonsair.tail + $EDreamDonsair.thigh)>>\n<<set $EDreamDonsair.maxBloat = ((_stretchBase * $EDreamDonsair.stretch) * 0.05).toFixed()>>\n\n\n/% Metabolic Processes %/\n\n/% Healing %/\n<<if ($EDreamDonsair.stock gte 1) and ($EDreamDonsair.vit lt $EDreamDonsair.maxVit)>>\n\t<<set _stretchCheck = random(1,3)>>\n\t\t<<if _stretchCheck eq 1>><<set $EDreamDonsair.vit++; $EDreamDonsair.stock-->><<endif>>\t\n<<endif>>\n\n/% Calorie Absorption/Weight Gain %/\n<<if $EDreamLiveDons.timeTick % 6>>\n\t<<if $EDreamDonsair.stock gte $EDreamDonsair.gain>>\n\t\t<<set $EDreamDonsair.stock -= $EDreamDonsair.gain>>\n\t\t<<include EDX-DonsProcessGain>>\n\t<<endif>>\n<<endif>>\n\n/% Bloat Handling %/\n<<if $EDreamDonsair.bloat gt 0>><<set $EDreamDonsair.bloat -= either(0,0,1)>><<endif>>\n\n<<if $EDreamDonsair.bloat gte ($EDreamDonsair.maxBloat * 0.7)>>\n\t<<set _stretchCheck = random(1,12)>>\n\t\t<<if _stretchCheck eq 1>><<set $EDreamDonsair.stretch += 0.1>><<endif>>\t\n<<endif>>\n\n<<if $EDreamDonsair.bloat gte $EDreamDonsair.maxBloat>>\n\t<<set $EDreamDonsair.vit -= either(0,0,1)>><<endif>>\n\n\n\n/% Floors/Ceilings %/\n\n<<if $EDreamDonsair.bloat lt 0>><<set $EDreamDonsair.bloat = 0>><<endif>>\n<<if $EDreamDonsair.vit lt 0>><<set $EDreamDonsair.vit = 0>><<endif>>\n<<if $EDreamDonsair.stock lt 0>><<set $EDreamDonsair.stock = 0>><<endif>>
<center><h2><b>EVERDREAM <span class="cMagenta">♦</span></b></h2>\n<div style="height:300px;">\n<img class="donsHappy" src="img/revecai_classic.png">\n</div>\n<h3>Living Donsair - $EDreamLiveDons.SpecVer Edition</h3>\n<hr>\n<p><b>\n<<button "Input Donsair" "DonsairInput">><</button>>\n<<button "Generate Donsair" "DonsairMain">><<set$EDreamLiveDons.Mode = "generate">><</button>>\n\n<br>\n\n<<button "Load Donsair from File">><<script>>UI.saves();<</script>><</button>>\n<<button "Load Donsair from DNA" "Start">><<set $EDreamLiveDons.menuMode = "inputSerial">><</button>>\n</b></p>\n<p style="margin-top: -1rem"><b>\n<<button "Living Donsair Species Database (NYI)">><</button>><br>\n<<button "Changelog" "Changelog">><</button>>\n</b></p></center>\n\n\n/% ======================================== %/\n/% Pop-Up Menus %/\n\n<<if $EDreamLiveDons.menuMode neq "">><<include DonsairMenus>><<endif>>
/% ============ Color ============ %/\n/% Base Color, Base Dilution %/ \n\t<<set $EDreamDonsDNA.baseColor = either("R","Y","B") + either("R","Y","B")>>\n\n\t<<set $EDreamDonsDNA.baseDilute = either("D","d") + either("D","d")>>\n\n/% --------------- %/\n/% Belly Color, Belly Dilution %/ \n\t<<set $EDreamDonsDNA.bellyColor = either("br","by","bb") + either("br","by","bb")>>\n\n\t<<set $EDreamDonsDNA.bellyDilute = either("bD","bd") + either("bD","bd")>>\n\n/% --------------- %/\n/% Complimentary Color, Complimentary Dilution %/\n\t<<set $EDreamDonsDNA.compColor = either("cr","cy","cb") + either("cr","cy","cb")>>\n\n\t<<set $EDreamDonsDNA.compDilute = either("cD","cd") + either("cD","cd")>>\n\n/% ============ Pattern ============ %/\n/% Marking Color, Marking Dilution %/\n\t<<set $EDreamDonsDNA.markColor = either("mr","my","mb") + either("mr","my","mb")>>\n\n\t<<set $EDreamDonsDNA.markDilute = either("mD","md") + either("mD","md")>>\n\n/% --------------- %/\n/% Pattern Prescence/Location %/\n\t<<set $EDreamDonsDNA.patPres = either("L","l") + either("L","l")>>\n\n/% --------------- %/\n/% White Spotting %/\n\t<<set $EDreamDonsDNA.whiteSpot = either("W","w","ws","wg") + either("W","w","ws","wg")>>\n\n/% --------------- %/\n/% Grey %/\n\t<<set $EDreamDonsDNA.Grey = either("G+","G","g") + either("G+","G","g")>>\n\n/% --------------- %/\n/% Freckles, Gradient, Filigree %/\n\t<<set $EDreamDonsDNA.Freckle = either("Fr","fr") + either("Fr","fr")>>\n\n\t<<set $EDreamDonsDNA.Gradient = either("Gr","gr") + either("Gr","gr")>>\n\n\t<<set $EDreamDonsDNA.Filigree = either("F","f") + either("F","f")>>\n\n/% --------------- %/\n/% Harlequin, Stripes, Ink %/\n\t<<set $EDreamDonsDNA.Harlequin = either("H","h") + either("H","h")>>\n\n\t<<set $EDreamDonsDNA.Stripe = either("T+","T","t") + either("T+","T","t")>>\n\n\t<<set $EDreamDonsDNA.Ink = either("In","in") + either("In","in")>>\n\n/% --------------- %/\n/% Anomalies %/\n/% Somatic, Pastiche, Chimera, Pennant %/ \n\t<<set _anomCheck = random(1,3)>>\n\t\t<<if _anomCheck eq 1>><<set $EDreamDonsDNA.Anomaly = either("Somatic","Pastiche","Chimera","Pennant")>>\n\t\t<<else>><<set $EDreamDonsDNA.Anomaly = "N/A">><<endif>>\n\n
<<include EDX-DonsairSetup>>\n<<set $EDXDonsNew = $EDXDonsair>>\n/% Try and make it easier to grab from the end of the input string whether the player has included a trailing space or not %/\n<<set $EDXDonsSerial.input += " ">>\n\n/% Process Serialized data into usable chunks %/\n\n\t/% Species %/\n\t<<set _cutterA = $EDXDonsSerial.input.indexOf(" subspec:")>>\n\t<<set _serialA = $EDXDonsSerial.input.slice(5,_cutterA)>>\n\t<<set $EDXDonsNew.Species = _serialA>>\n\n\t/% Subspecies %/\n\t<<set _cutterB = $EDXDonsSerial.input.indexOf(" pers:")>>\n\t<<set _serialB = $EDXDonsSerial.input.slice((_cutterA + 9),_cutterB)>>\n\t<<set $EDXDonsNew.Subspec = _serialB>>\n\n\n\t/% Personality %/\n\t<<set _cutterC = $EDXDonsSerial.input.indexOf(" img:")>>\n\t<<set _serialC = $EDXDonsSerial.input.slice((_cutterB + 6),_cutterC)>>\n\t<<set $EDXDonsNew.baseMood = _serialC>>\n\n\n\t/% Image %/\n\t<<set _cutterD = $EDXDonsSerial.input.indexOf(" vit:")>>\n\t<<set _serialD = $EDXDonsSerial.input.slice((_cutterC + 5),_cutterD)>>\n\t<<set $EDXDonsNew.img = _serialD>>\n\n\n\t/% Stats %/\n\t<<set _cutterA = $EDXDonsSerial.input.indexOf(" arm:")>>\n\t<<set _serialA = $EDXDonsSerial.input.slice((_cutterD + 5),_cutterA)>>\n\t<<set $EDXDonsNew.vit = parseInt(_serialA); $EDXDonsNew.maxVit = parseInt(_serialA)>>\n\n\t<<set _cutterB = $EDXDonsSerial.input.indexOf(" str:")>>\n\t<<set _serialB = $EDXDonsSerial.input.slice((_cutterA + 5),_cutterB)>>\n\t<<set $EDXDonsNew.arm = parseInt(_serialB)>>\n\n\t<<set _cutterC = $EDXDonsSerial.input.indexOf(" will:")>>\n\t<<set _serialC = $EDXDonsSerial.input.slice((_cutterB + 5),_cutterC)>>\n\t<<set $EDXDonsNew.str = parseInt(_serialC)>>\n\n\t<<set _cutterD = $EDXDonsSerial.input.indexOf(" fin:")>>\n\t<<set _serialD = $EDXDonsSerial.input.slice((_cutterC + 6),_cutterD)>>\n\t<<set $EDXDonsNew.will = parseInt(_serialD)>>\n\n\t<<set _cutterE = $EDXDonsSerial.input.indexOf(" perc:")>>\n\t<<set _serialE = $EDXDonsSerial.input.slice((_cutterD + 5),_cutterE)>>\n\t<<set $EDXDonsNew.fin = parseInt(_serialE)>>\n\n\t<<set _cutterF = $EDXDonsSerial.input.indexOf(" whim:")>>\n\t<<set _serialF = $EDXDonsSerial.input.slice((_cutterE + 6),_cutterF)>>\n\t<<set $EDXDonsNew.perc = parseInt(_serialF)>>\n\n\t<<set _cutterG = $EDXDonsSerial.input.indexOf(" san:")>>\n\t<<set _serialG = $EDXDonsSerial.input.slice((_cutterF + 6),_cutterG)>>\n\t<<set $EDXDonsNew.whim = parseInt(_serialG)>>\n\n\t<<set _cutterH = $EDXDonsSerial.input.indexOf(" bType:")>>\n\t<<set _serialH = $EDXDonsSerial.input.slice((_cutterG + 5),_cutterH)>>\n\t<<set $EDXDonsNew.san = parseInt(_serialH)>>\n\n\t/% Proportions %/\n\n\t<<set _cutterK = $EDXDonsSerial.input.indexOf(" chest:")>>\n\t<<set _serialK = $EDXDonsSerial.input.slice((_cutterH + 7),_cutterK)>>\n\t<<set $EDXDonsNew.bType = _serialK>> \n\t/% Careful! This shouldn't be parseInt; it literally is not a number %/\n\n\t<<set _cutterL = $EDXDonsSerial.input.indexOf(" belly:")>>\n\t<<set _serialL = $EDXDonsSerial.input.slice((_cutterK + 7),_cutterL)>>\n\t<<set $EDXDonsNew.chest = parseInt(_serialL)>>\n\n\t<<set _cutterM = $EDXDonsSerial.input.indexOf(" body:")>>\n\t<<set _serialM = $EDXDonsSerial.input.slice((_cutterL + 7),_cutterM)>>\n\t<<set $EDXDonsNew.belly = parseInt(_serialM)>>\n\n\t<<set _cutterN = $EDXDonsSerial.input.indexOf(" limbs:")>>\n\t<<set _serialN = $EDXDonsSerial.input.slice((_cutterM + 6),_cutterN)>>\n\t<<set $EDXDonsNew.body = parseInt(_serialN)>>\n\n\t<<set _cutterO = $EDXDonsSerial.input.indexOf(" thigh:")>>\n\t<<set _serialO = $EDXDonsSerial.input.slice((_cutterN + 7),_cutterO)>>\n\t<<set $EDXDonsNew.limbs = parseInt(_serialO)>>\n\n\t<<set _cutterP = $EDXDonsSerial.input.indexOf(" tail:")>>\n\t<<set _serialP = $EDXDonsSerial.input.slice((_cutterO + 7),_cutterP)>>\n\t<<set $EDXDonsNew.thigh = parseInt(_serialP)>>\n\n\t<<set _cutterQ = $EDXDonsSerial.input.indexOf(" gain:")>>\n\t<<set _serialQ = $EDXDonsSerial.input.slice((_cutterP + 6),_cutterQ)>>\n\t<<set $EDXDonsNew.tail = parseInt(_serialQ)>>\n\n\t/% Metabolic %/\n\t/% Use parseFloat for numbers that may include decimals! %/\n\t<<set _cutterR = $EDXDonsSerial.input.indexOf(" stockX:")>>\n\t<<set _serialR = $EDXDonsSerial.input.slice((_cutterQ + 6),_cutterR)>>\n\t<<set $EDXDonsNew.gain = parseFloat(_serialR)>>\n\n\t<<set _cutterS = $EDXDonsSerial.input.indexOf(" stretch:")>>\n\t<<set _serialS = $EDXDonsSerial.input.slice((_cutterR + 8),_cutterS)>>\n\t<<set $EDXDonsNew.stockX = parseFloat(_serialS)>>\n\n\t<<set _cutterT = $EDXDonsSerial.input.indexOf(" eggType:")>>\n\t<<set _serialT = $EDXDonsSerial.input.slice((_cutterS + 9),_cutterT)>>\n\t<<set $EDXDonsNew.stretch = parseFloat(_serialT)>>\n\n\t/% Products %/\n\n\t<<set _cutterU = $EDXDonsSerial.input.indexOf(" milkType:")>>\n\t<<set _serialU = $EDXDonsSerial.input.slice((_cutterT + 9),_cutterU)>>\n\t<<set $EDXDonsNew.eggType = _serialU>>\n\n\t<<set _cutterV = $EDXDonsSerial.input.indexOf(" venomType:")>>\n\t<<set _serialV = $EDXDonsSerial.input.slice((_cutterU + 10),_cutterV)>>\n\t<<set $EDXDonsNew.milkType = _serialV>>\n\n\t<<set _cutterW = $EDXDonsSerial.input.indexOf(" clutchRate:")>>\n\t<<set _serialW = $EDXDonsSerial.input.slice((_cutterV + 11),_cutterW)>>\n\t<<set $EDXDonsNew.venomType = _serialW>>\n\n\t<<set _cutterX = $EDXDonsSerial.input.indexOf(" milkRate:")>>\n\t<<set _serialX = $EDXDonsSerial.input.slice((_cutterW + 12),_cutterX)>>\n\t<<set $EDXDonsNew.clutchRate = parseInt(_serialX)>>\n\n\t<<set _cutterY = $EDXDonsSerial.input.indexOf(" milkfat:")>>\n\t<<set _serialY = $EDXDonsSerial.input.slice((_cutterX + 10),_cutterY)>>\n\t<<set $EDXDonsNew.milkRate = parseInt(_serialY)>>\n\n\t<<set _cutterZ = $EDXDonsSerial.input.indexOf(" venomRate:")>>\n\t<<set _serialZ = $EDXDonsSerial.input.slice((_cutterY + 9),_cutterZ)>>\n\t<<set $EDXDonsNew.milkfat = parseInt(_serialZ)>>\n\n\t/% Using a random non-A letter so as to not upset the next call %/\n\t<<set _cutterM = $EDXDonsSerial.input.indexOf(" baseColor:")>>\n\t<<set _serialM = $EDXDonsSerial.input.slice((_cutterZ + 11),_cutterM)>>\n\t<<set $EDXDonsNew.venomRate = parseInt(_serialM)>>\n\n\t/% Colors/Markings %/\n\n\t<<set _cutterA = $EDXDonsSerial.input.indexOf(" baseDilute:")>>\n\t<<set _serialA = $EDXDonsSerial.input.slice((_cutterM + 11),_cutterA)>>\n\t<<set $EDXDonsNew.baseColor = _serialA>>\n\n\t<<set _cutterB = $EDXDonsSerial.input.indexOf(" bellyColor:")>>\n\t<<set _serialB = $EDXDonsSerial.input.slice((_cutterA + 12),_cutterB)>>\n\t<<set $EDXDonsNew.baseDilute = _serialB>>\n\n\t<<set _cutterC = $EDXDonsSerial.input.indexOf(" bellyDilute:")>>\n\t<<set _serialC = $EDXDonsSerial.input.slice((_cutterB + 12),_cutterC)>>\n\t<<set $EDXDonsNew.bellyColor = _serialC>>\n\n\t<<set _cutterD = $EDXDonsSerial.input.indexOf(" compColor:")>>\n\t<<set _serialD = $EDXDonsSerial.input.slice((_cutterC + 13),_cutterD)>>\n\t<<set $EDXDonsNew.bellyDilute = _serialD>>\n\n\t<<set _cutterE = $EDXDonsSerial.input.indexOf(" compDilute:")>>\n\t<<set _serialE = $EDXDonsSerial.input.slice((_cutterD + 11),_cutterE)>>\n\t<<set $EDXDonsNew.compColor = _serialE>>\n\n\t<<set _cutterF = $EDXDonsSerial.input.indexOf(" markColor:")>>\n\t<<set _serialF = $EDXDonsSerial.input.slice((_cutterE + 12),_cutterF)>>\n\t<<set $EDXDonsNew.compDilute = _serialF>>\n\n\t<<set _cutterG = $EDXDonsSerial.input.indexOf(" markDilute:")>>\n\t<<set _serialG = $EDXDonsSerial.input.slice((_cutterF + 11),_cutterG)>>\n\t<<set $EDXDonsNew.markColor = _serialG>>\n\n\t<<set _cutterH = $EDXDonsSerial.input.indexOf(" patPres:")>>\n\t<<set _serialH = $EDXDonsSerial.input.slice((_cutterG + 12),_cutterH)>>\n\t<<set $EDXDonsNew.markDilute = _serialH>>\n\n\t<<set _cutterI = $EDXDonsSerial.input.indexOf(" whiteSpot:")>>\n\t<<set _serialI = $EDXDonsSerial.input.slice((_cutterH + 9),_cutterI)>>\n\t<<set $EDXDonsNew.patPres = _serialI>>\n\n\t<<set _cutterJ = $EDXDonsSerial.input.indexOf(" grey:")>>\n\t<<set _serialJ = $EDXDonsSerial.input.slice((_cutterI + 11),_cutterJ)>>\n\t<<set $EDXDonsNew.whiteSpot = _serialJ>>\n\n\t<<set _cutterK = $EDXDonsSerial.input.indexOf(" freckle:")>>\n\t<<set _serialK = $EDXDonsSerial.input.slice((_cutterJ + 6),_cutterK)>>\n\t<<set $EDXDonsNew.Grey = _serialK>>\n\n\t<<set _cutterL = $EDXDonsSerial.input.indexOf(" gradient:")>>\n\t<<set _serialL = $EDXDonsSerial.input.slice((_cutterK + 9),_cutterL)>>\n\t<<set $EDXDonsNew.Freckle = _serialL>>\n\n\t<<set _cutterM = $EDXDonsSerial.input.indexOf(" filigree:")>>\n\t<<set _serialM = $EDXDonsSerial.input.slice((_cutterL + 10),_cutterM)>>\n\t<<set $EDXDonsNew.Gradient = _serialM>>\n\n\t<<set _cutterN = $EDXDonsSerial.input.indexOf(" harlequin:")>>\n\t<<set _serialN = $EDXDonsSerial.input.slice((_cutterM + 10),_cutterN)>>\n\t<<set $EDXDonsNew.Filigree = _serialN>>\n\n\t<<set _cutterO = $EDXDonsSerial.input.indexOf(" stripe:")>>\n\t<<set _serialO = $EDXDonsSerial.input.slice((_cutterN + 11),_cutterO)>>\n\t<<set $EDXDonsNew.Harlequin = _serialO>>\n\n\t<<set _cutterP = $EDXDonsSerial.input.indexOf(" ink:")>>\n\t<<set _serialP = $EDXDonsSerial.input.slice((_cutterO + 8),_cutterP)>>\n\t<<set $EDXDonsNew.Stripe = _serialP>>\n\n\t<<set _cutterQ = $EDXDonsSerial.input.indexOf(" anomaly:")>>\n\t<<set _serialQ = $EDXDonsSerial.input.slice((_cutterP + 5),_cutterQ)>>\n\t<<set $EDXDonsNew.Ink = _serialQ>>\n\n\t<<set _cutterR = $EDXDonsSerial.input.indexOf(" phnEar:")>>\n\t<<set _serialR = $EDXDonsSerial.input.slice((_cutterQ + 9),_cutterR)>>\n\t<<set $EDXDonsNew.Anomaly = _serialR>>\n\t\n\t/% Phenotype %/\n\n\t<<set _cutterS = $EDXDonsSerial.input.indexOf(" phnSnoot:")>>\n\t<<set _serialS = $EDXDonsSerial.input.slice((_cutterR + 8),_cutterS)>>\n\t<<set $EDXDonsNew.phnEar = _serialS>>\n\n\t<<set _cutterT = $EDXDonsSerial.input.indexOf(" phnEye:")>>\n\t<<set _serialT = $EDXDonsSerial.input.slice((_cutterS + 10),_cutterT)>>\n\t<<set $EDXDonsNew.phnSnoot = _serialT>>\n\n\t<<set _cutterU = $EDXDonsSerial.input.indexOf(" phnPupil:")>>\n\t<<set _serialU = $EDXDonsSerial.input.slice((_cutterT + 8),_cutterU)>>\n\t<<set $EDXDonsNew.phnEye = _serialU>>\n\n\t<<set _cutterV = $EDXDonsSerial.input.indexOf(" phnHeadDeco:")>>\n\t<<set _serialV = $EDXDonsSerial.input.slice((_cutterU + 10),_cutterV)>>\n\t<<set $EDXDonsNew.phnPupil = _serialV>>\n\n\t<<set _cutterW = $EDXDonsSerial.input.indexOf(" phnRbien:")>>\n\t<<set _serialW = $EDXDonsSerial.input.slice((_cutterV + 13),_cutterW)>>\n\t<<set $EDXDonsNew.phnHeadDeco = _serialW>>\n\n\t<<set _cutterX = $EDXDonsSerial.input.indexOf(" phnTeeth:")>>\n\t<<set _serialX = $EDXDonsSerial.input.slice((_cutterW + 10),_cutterX)>>\n\t<<set $EDXDonsNew.phnRbien = _serialX>>\n\n\t<<set _cutterY = $EDXDonsSerial.input.indexOf(" phnPaw:")>>\n\t<<set _serialY = $EDXDonsSerial.input.slice((_cutterX + 10),_cutterY)>>\n\t<<set $EDXDonsNew.phnTeeth = _serialY>>\n\n\t<<set _cutterZ = $EDXDonsSerial.input.indexOf(" phnLimb:")>>\n\t<<set _serialZ = $EDXDonsSerial.input.slice((_cutterY + 8),_cutterZ)>>\n\t<<set $EDXDonsNew.phnPaw = _serialZ>>\n\n\t<<set _cutterA = $EDXDonsSerial.input.indexOf(" phnBean:")>>\n\t<<set _serialA = $EDXDonsSerial.input.slice((_cutterZ + 9),_cutterA)>>\n\t<<set $EDXDonsNew.phnLimb = _serialA>>\n\n\t<<set _cutterB = $EDXDonsSerial.input.indexOf(" phnScale:")>>\n\t<<set _serialB = $EDXDonsSerial.input.slice((_cutterA + 9),_cutterB)>>\n\t<<set $EDXDonsNew.phnBean = _serialB>>\n\n\t<<set _cutterC = $EDXDonsSerial.input.indexOf(" phnBelly:")>>\n\t<<set _serialC = $EDXDonsSerial.input.slice((_cutterB + 10),_cutterC)>>\n\t<<set $EDXDonsNew.phnScale = _serialC>>\n\n\t<<set _cutterD = $EDXDonsSerial.input.indexOf(" phnSpine:")>>\n\t<<set _serialD = $EDXDonsSerial.input.slice((_cutterC + 10),_cutterD)>>\n\t<<set $EDXDonsNew.phnBelly = _serialD>>\n\n\t<<set _cutterE = $EDXDonsSerial.input.indexOf(" phnTail:")>>\n\t<<set _serialE = $EDXDonsSerial.input.slice((_cutterD + 10),_cutterE)>>\n\t<<set $EDXDonsNew.phnSpine = _serialE>>\n\n\t<<set _cutterF = $EDXDonsSerial.input.indexOf(" phnWing:")>>\n\t<<set _serialF = $EDXDonsSerial.input.slice((_cutterE + 9),_cutterF)>>\n\t<<set $EDXDonsNew.phnTail = _serialF>>\n\n\t<<set _cutterG = $EDXDonsSerial.input.indexOf(" phnTheme:")>>\n\t<<set _serialG = $EDXDonsSerial.input.slice((_cutterF + 9),_cutterG)>>\n\t<<set $EDXDonsNew.phnWing = _serialG>>\n\n\t/% End of the guaranteed entries, so fiddlier to separate out %/\n\t<<set _cutterH = $EDXDonsSerial.input.slice((_cutterG + 1))>>\n\t<<set _cutterHa = _cutterH.indexOf(" ")>>\n\n\t<<set _serialH = _cutterH.slice(9,_cutterHa)>>\n\t<<set $EDXDonsNew.phnTheme = _serialH>>\n\n\t/% Mutations %/\n\t\n\t<<if $EDXDonsSerial.input.includes("mutViviere")>>\n\t\t<<set $EDXDonsNew.mutViviere = 1>><<endif>>\t\t\n\t<<if $EDXDonsSerial.input.includes("mutOvian")>>\n\t\t<<set $EDXDonsNew.mutOvian = 1>><<endif>>\t\t\n\t<<if $EDXDonsSerial.input.includes("mutSlime")>>\n\t\t<<set $EDXDonsNew.mutSlime = 1>><<endif>>\t\t\n\t<<if $EDXDonsSerial.input.includes("mutPudding")>>\n\t\t<<set $EDXDonsNew.mutPudding = 1>><<endif>>\t\t\n\t<<if $EDXDonsSerial.input.includes("mutBalloon")>>\n\t\t<<set $EDXDonsNew.mutBalloon = 1>><<endif>>\t\n\t<<if $EDXDonsSerial.input.includes("mutPlushie")>>\n\t\t<<set $EDXDonsNew.mutPlushie = 1>><<endif>>\t\n\t<<if $EDXDonsSerial.input.includes("mutAdiposa")>>\n\t\t<<set $EDXDonsNew.mutAdiposa = 1>><<endif>>\t\n\t<<if $EDXDonsSerial.input.includes("mutConfection")>>\n\t\t<<set $EDXDonsNew.mutConfection = 1>><<endif>>\t\n\t<<if $EDXDonsSerial.input.includes("mutEpicurean")>>\n\t\t<<set $EDXDonsNew.mutEpicurean = 1>><<endif>>\t\n\t<<if $EDXDonsSerial.input.includes("mutEvian")>>\n\t\t<<set $EDXDonsNew.mutEvian = 1>><<endif>>\t\n\t<<if $EDXDonsSerial.input.includes("mutHoneypot")>>\n\t\t<<set $EDXDonsNew.mutHoneypot = 1>><<endif>>\t\n\t<<if $EDXDonsSerial.input.includes("mutGreenhouse")>>\n\t\t<<set $EDXDonsNew.mutGreenhouse = 1>><<endif>>\t\n\t<<if $EDXDonsSerial.input.includes("mutRosebelly")>>\n\t\t<<set $EDXDonsNew.mutRosebelly = 1>><<endif>>\n\n\t/% TFs %/\n\t\t\t\n\t<<if $EDXDonsSerial.input.includes("tfFyynmorph")>>\n\t\t<<set _cutterA = $EDXDonsSerial.input.indexOf("tfFyynmorph:")>>\n\t\t<<set _sliceA = $EDXDonsSerial.input.slice(_cutterA)>>\n\t\t<<set _cutterAx = _sliceA.indexOf(" ")>>\n\t\t<<set _serialA = _sliceA.slice(12,_cutterAx)>>\n\t\t<<set $EDXDonsNew.tfFyynmorph = parseInt(_serialA)>>\n\t<<else>><<set $EDXDonsNew.tfFyynmorph = 0>><<endif>>\t\n\t\t\t\n\t<<if $EDXDonsSerial.input.includes("tfOmniphage")>>\n\t\t<<set _cutterB = $EDXDonsSerial.input.indexOf("tfOmniphage:")>>\n\t\t<<set _sliceB = $EDXDonsSerial.input.slice(_cutterB)>>\n\t\t<<set _cutterBx = _sliceB.indexOf(" ")>>\n\t\t<<set _serialB = _sliceB.slice(12,_cutterBx)>>\n\t\t<<set $EDXDonsNew.tfOmniphage = parseInt(_serialB)>>\n\t<<else>><<set $EDXDonsNew.tfOmniphage = 0>><<endif>>\t\n\t\t\t\n\t<<if $EDXDonsSerial.input.includes("tfRealization")>>\n\t\t<<set _cutterC = $EDXDonsSerial.input.indexOf("tfRealization:")>>\n\t\t<<set _sliceC = $EDXDonsSerial.input.slice(_cutterC)>>\n\t\t<<set _cutterCx = _sliceC.indexOf(" ")>>\n\t\t<<set _serialC = _sliceC.slice(14,_cutterCx)>>\n\t\t<<set $EDXDonsNew.tfRealization = parseInt(_serialC)>>\n\t<<else>><<set $EDXDonsNew.tfRealization = 0>><<endif>>\t\n\t\t\t\n\t<<if $EDXDonsSerial.input.includes("tfMirlait")>>\n\t\t<<set _cutterD = $EDXDonsSerial.input.indexOf("tfMirlait:")>>\n\t\t<<set _sliceD = $EDXDonsSerial.input.slice(_cutterD)>>\n\t\t<<set _cutterDx = _sliceD.indexOf(" ")>>\n\t\t<<set _serialD = _sliceD.slice(10,_cutterDx)>>\n\t\t<<set $EDXDonsNew.tfMirlait = parseInt(_serialD)>>\n\t<<else>><<set $EDXDonsNew.tfMirlait = 0>><<endif>>\n\n\n<<include EDX-SerialToDonsair>>\n\n
/% This passage will likely be per-species/subspecies when we're done; the indivdiual base applet files could probably handle that. %/\n\n<<include EDX-DonsCommon>>\n\n<<set $EDreamDonsair.Name = $EDreamDonsInput.Name>>\n<<set $EDreamDonsair.Species = $EDreamDonsInput.Species; $EDreamDonsair.Subspec = $EDreamDonsInput.Subspec>>\n\n/% Image setup %/\n<<if $EDreamDonsInput.img eq "random">>\n\t<<set $EDreamDonsair.img = $EDreamLiveDons.specImages.random();>>\n<<else>>\n\t<<set $EDreamDonsair.img = $EDreamDonsInput.img>>\n<<endif>>\n\n/% Body Type setup %/\n<<if $EDreamDonsInput.bType eq "random">>\n\t<<set $EDreamDonsair.bType = $EDXDons.bType.random();>>\n<<else>>\n\t<<set $EDreamDonsair.bType = $EDreamDonsInput.bType; $EDreamDonsDNA.bType = $EDreamDonsair.bType>>\n<<endif>>\n\n/% Personality setup %/\n<<if $EDreamDonsInput.Mood eq "random">>\n\t<<set $EDreamDonsair.baseMood = $EDXDons.baseMood.random();>>\n<<else>>\n\t<<set $EDreamDonsair.baseMood = $EDreamDonsInput.Mood>>\n<<endif>>\n\n\t<<if $EDreamDonsair.baseMood eq "angry">><<set $EDreamDonsair.Trust = random(0,6)>>\n\t<<elseif $EDreamDonsair.baseMood eq "grumpy">><<set $EDreamDonsair.Trust = random(6,17)>>\n\t<<else>><<set $EDreamDonsair.Trust = 100>>/% Only relevant for potentially aggressive donsair %/<<endif>>\n\n\n/% Those nouns have gone pro! %/\n<<if $EDreamDonsInput.Self eq "random">>\n\t<<set $EDreamDonsInput.Self = $EDXCommon.Selfs.random();>><<endif>>\n\n<<set $EDreamDonsair.Self = $EDreamDonsInput.Self>>\n\t<<switch $EDreamDonsair.Self>>\n\t\t<<case "they/them">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "they"; $EDreamDonsair.pnRef2 = "them"; $EDreamDonsair.pnPos = "their"; $EDreamDonsair.pnSelf = "themself">>\n\t\t<<case "she/her">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "she"; $EDreamDonsair.pnRef2 = "her"; $EDreamDonsair.pnPos = "her"; $EDreamDonsair.pnSelf = "herself">>\n\t\t<<case "he/him">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "he"; $EDreamDonsair.pnRef2 = "him"; $EDreamDonsair.pnPos = "his"; $EDreamDonsair.pnSelf = "himself">>\n\t\t<<case "jei/jem">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "jei"; $EDreamDonsair.pnRef2 = "jem"; $EDreamDonsair.pnPos = "jeir"; $EDreamDonsair.pnSelf = "jemself">>\n\t\t<<default>>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "it"; $EDreamDonsair.pnRef2 = "it"; $EDreamDonsair.pnPos = "its"; $EDreamDonsair.pnSelf = "itself">>\n\t<</switch>>\n\n<<if $EDreamDonsInput.Region eq "random">>\n\t<<set $EDreamDonsInput.Region = $EDXDons.Regions.random();>><<endif>>\n\n<<set $EDreamDonsair.homeRegion = $EDreamDonsInput.Region>>\n\n/% Stats %/\n<<set $EDreamDonsair.maxVit = $EDreamDonsInput.vit>>\n<<set $EDreamDonsair.vit = $EDreamDonsInput.vit>>\n<<set $EDreamDonsair.maxBloat = $EDreamDonsInput.stretch>>\n<<set $EDreamDonsair.gain = $EDreamDonsInput.gain>>\n<<set $EDreamDonsair.stretch = $EDreamDonsInput.stretch>>\n<<set $EDreamDonsair.stockX = $EDreamDonsInput.stockX>>\n\n<<set $EDreamDonsair.chest = $EDreamDonsInput.chest>>\n<<set $EDreamDonsair.belly = $EDreamDonsInput.belly>>\n<<set $EDreamDonsair.body = $EDreamDonsInput.body>>\n<<set $EDreamDonsair.limbs = $EDreamDonsInput.limbs>>\n<<set $EDreamDonsair.thigh = $EDreamDonsInput.thigh>>\n<<set $EDreamDonsair.tail = $EDreamDonsInput.tail>>\n\n<<set $EDreamDonsDNA.arm = $EDreamDonsInput.arm>>\n<<set $EDreamDonsDNA.str = $EDreamDonsInput.str>>\n<<set $EDreamDonsDNA.will = $EDreamDonsInput.will>>\n<<set $EDreamDonsDNA.fin = $EDreamDonsInput.fin>>\n<<set $EDreamDonsDNA.perc = $EDreamDonsInput.perc>>\n<<set $EDreamDonsDNA.whim = $EDreamDonsInput.whim>>\n<<set $EDreamDonsDNA.san = $EDreamDonsInput.san>>\n\n/% Genetics %/\n<<set $EDreamDonsDNA.maxVit = $EDreamDonsInput.vit>>\n<<set $EDreamDonsDNA.vit = $EDreamDonsInput.vit>>\n<<set $EDreamDonsDNA.gain = $EDreamDonsInput.gain>>\n<<set $EDreamDonsDNA.stretch = $EDreamDonsInput.stretch>>\n<<set $EDreamDonsDNA.stockX = $EDreamDonsInput.stockX>>\n\n<<set $EDreamDonsDNA.chest = $EDreamDonsInput.chest>>\n<<set $EDreamDonsDNA.belly = $EDreamDonsInput.belly>>\n<<set $EDreamDonsDNA.body = $EDreamDonsInput.body>>\n<<set $EDreamDonsDNA.limbs = $EDreamDonsInput.limbs>>\n<<set $EDreamDonsDNA.thigh = $EDreamDonsInput.thigh>>\n<<set $EDreamDonsDNA.tail = $EDreamDonsInput.tail>>\n\n<<set $EDreamDonsDNA.arm = $EDreamDonsInput.arm>>\n<<set $EDreamDonsDNA.str = $EDreamDonsInput.str>>\n<<set $EDreamDonsDNA.will = $EDreamDonsInput.will>>\n<<set $EDreamDonsDNA.fin = $EDreamDonsInput.fin>>\n<<set $EDreamDonsDNA.perc = $EDreamDonsInput.perc>>\n<<set $EDreamDonsDNA.whim = $EDreamDonsInput.whim>>\n<<set $EDreamDonsDNA.san = $EDreamDonsInput.san>>\n\n<<set $EDreamDonsDNA.eggType = $EDreamDonsInput.eggType>>\n<<set $EDreamDonsDNA.milkType = $EDreamDonsInput.milkType>>\n<<set $EDreamDonsDNA.venomType = $EDreamDonsInput.venomType>>\n<<set $EDreamDonsDNA.clutchRate = $EDreamDonsInput.clutchRate>>\n<<set $EDreamDonsDNA.milkRate = $EDreamDonsInput.milkRate>>\n<<set $EDreamDonsDNA.milkfat = $EDreamDonsInput.milkfat>>\n<<set $EDreamDonsDNA.venomRate = $EDreamDonsInput.venomRate>>\n\n<<set $EDreamDonsDNA.baseColor = $EDreamDonsInput.baseColor>>\n<<set $EDreamDonsDNA.baseDilute = $EDreamDonsInput.baseDilute>>\n<<set $EDreamDonsDNA.bellyColor = $EDreamDonsInput.bellyColor>>\n<<set $EDreamDonsDNA.bellyDilute = $EDreamDonsInput.bellyDilute>>\n<<set $EDreamDonsDNA.compColor = $EDreamDonsInput.compColor>>\n<<set $EDreamDonsDNA.compDilute = $EDreamDonsInput.compDilute>>\n<<set $EDreamDonsDNA.markColor = $EDreamDonsInput.markColor>>\n<<set $EDreamDonsDNA.markDilute = $EDreamDonsInput.markDilute>>\n<<set $EDreamDonsDNA.patPres = $EDreamDonsInput.patPres>>\n<<set $EDreamDonsDNA.whiteSpot = $EDreamDonsInput.whiteSpot>>\n<<set $EDreamDonsDNA.Grey = $EDreamDonsInput.Grey>>\n<<set $EDreamDonsDNA.Freckle = $EDreamDonsInput.Freckle>>\n<<set $EDreamDonsDNA.Gradient = $EDreamDonsInput.Gradient>>\n<<set $EDreamDonsDNA.Filigree = $EDreamDonsInput.Filigree>>\n<<set $EDreamDonsDNA.Harlequin = $EDreamDonsInput.Harlequin>>\n<<set $EDreamDonsDNA.Stripe = $EDreamDonsInput.Stripe>>\n<<set $EDreamDonsDNA.Ink = $EDreamDonsInput.Ink>>\n<<set $EDreamDonsDNA.Anomaly = $EDreamDonsInput.Anomaly>>\n\n<<set $EDreamDonsDNA.phnEar = $EDreamDonsInput.phnEar>>\n<<set $EDreamDonsDNA.phnSnoot = $EDreamDonsInput.phnSnoot>>\n<<set $EDreamDonsDNA.phnEye = $EDreamDonsInput.phnEye>>\n<<set $EDreamDonsDNA.phnPupil = $EDreamDonsInput.phnPupil>>\n<<set $EDreamDonsDNA.phnHeadDeco = $EDreamDonsInput.phnHeadDeco>>\n<<set $EDreamDonsDNA.phnRbien = $EDreamDonsInput.phnRbien>>\n<<set $EDreamDonsDNA.phnTeeth = $EDreamDonsInput.phnTeeth>>\n<<set $EDreamDonsDNA.phnPaw = $EDreamDonsInput.phnPaw>>\n<<set $EDreamDonsDNA.phnLimb = $EDreamDonsInput.phnLimb>>\n<<set $EDreamDonsDNA.phnBean = $EDreamDonsInput.phnBean>>\n<<set $EDreamDonsDNA.phnScale = $EDreamDonsInput.phnScale>>\n<<set $EDreamDonsDNA.phnBelly = $EDreamDonsInput.phnBelly>>\n<<set $EDreamDonsDNA.phnSpine = $EDreamDonsInput.phnSpine>>\n<<set $EDreamDonsDNA.phnTail = $EDreamDonsInput.phnTail>>\n<<set $EDreamDonsDNA.phnWing = $EDreamDonsInput.phnWing>>\n<<set $EDreamDonsDNA.phnTheme = $EDreamDonsInput.phnTheme>>\n\n/% Mutations %/\n\n\t<<if $EDreamDonsInput.mutViviere>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("viviere"); $EDreamDonsDNA.mutViviere = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutOvian>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("ovian"); $EDreamDonsDNA.mutOvian = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutSlime>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("slime"); $EDreamDonsDNA.mutSlime = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutPudding>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("pudding"); $EDreamDonsDNA.mutPudding = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutBalloon>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("balloon"); $EDreamDonsDNA.mutBalloon = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutPlushie>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("plushie"); $EDreamDonsDNA.mutPlushie = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutAdiposa>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("adiposa"); $EDreamDonsDNA.mutAdiposa = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutConfection>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("confection"); $EDreamDonsDNA.mutConfection = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutEpicurean>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("epicurean"); $EDreamDonsDNA.mutEpicurean = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutEvian>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("evian"); $EDreamDonsDNA.mutEvian = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutHoneypot>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("honeypot"); $EDreamDonsDNA.mutHoneypot = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutGreenhouse>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("greenhouse"); $EDreamDonsDNA.mutGreenhouse = 1>><<endif>>\n\t<<if $EDreamDonsInput.mutRosebelly>>\n\t\t<<set $EDreamDonsDNA.Mutations.push("rosebelly"); $EDreamDonsDNA.mutRosebelly = 1>><<endif>>\n\n/% TFs %/\n\n\t<<if $EDreamDonsInput.tfRealization>>\n\t\t<<set $EDreamDonsDNA.TFs.push("realization"); $EDreamDonsDNA.tfRealization = 5>><<endif>>\n\t<<if $EDreamDonsInput.tfFyynmorph>>\n\t\t<<set $EDreamDonsDNA.TFs.push("fyynmorph"); $EDreamDonsDNA.tfFyynmorph = 10>><<endif>>\n\t<<if $EDreamDonsInput.tfOmniphage>>\n\t\t<<set $EDreamDonsDNA.TFs.push("omniphage"); $EDreamDonsDNA.tfOmniphage = 10>><<endif>>\n\t<<if $EDreamDonsInput.tfMirlait>>\n\t\t<<set $EDreamDonsDNA.TFs.push("mirlait"); $EDreamDonsDNA.tfMirlait = 35>><<endif>>\n\n<<include EDX-DonsProcessMutations>>\n\n\n/% Finish; Unflag Input mode %/\n<<set $EDreamLiveDons.Mode = "">>\n\n
<<switch $EDreamLiveDons.Fed>>\n/% Generic %/\n\t<<case "SparklingWater">>\n\t\t<<set $EDreamDonsair.bloat++>>\n\t<<case "MorselTreat">>\n\t\t<<set $EDreamDonsair.bloat++; $EDreamDonsair.stock += (2 * $EDreamDonsair.stockX); $EDreamDonsair.Trust += either(0,0,1)>>\n\t<<case "GlimmerstonePear">>\n\t\t<<set $EDreamDonsair.bloat++; $EDreamDonsair.stock += (1 * $EDreamDonsair.stockX)>>\n\t<<case "EmeraldFilet">>\n\t\t<<set $EDreamDonsair.bloat++; $EDreamDonsair.stock += (1 * $EDreamDonsair.stockX)>>\n\t<<case "SpicedYam">>\n\t\t<<set $EDreamDonsair.bloat += 2; $EDreamDonsair.stock += (3 * $EDreamDonsair.stockX)>>\n\n/% Dremish %/\n\t<<case "MenagerieGummies"; $EDreamDonsair.stock += (1 * $EDreamDonsair.stockX)>>\n\t\t<<set $EDreamDonsair.bloat++>>\n\t<<case "FlaskberryMuddle">>\n\t\t<<set $EDreamDonsair.bloat++; $EDreamDonsair.stock += (1 * $EDreamDonsair.stockX)>>\n\t<<case "BroiledSpinestalk">>\n\t\t<<set $EDreamDonsair.bloat++; $EDreamDonsair.stock += (1 * $EDreamDonsair.stockX)>>\n\t<<case "CavyRoast">>\n\t\t<<set $EDreamDonsair.bloat += 3; $EDreamDonsair.stock += (4 * $EDreamDonsair.stockX)>>\n\t<<case "VenisonSteak">>\n\t\t<<set $EDreamDonsair.bloat += 3; $EDreamDonsair.stock += (5 * $EDreamDonsair.stockX)>>\n\n/% Thal*ani %/\n\t<<case "StarlightSunsalad">>\n\t\t<<set $EDreamDonsair.bloat++; $EDreamDonsair.stock += (2 * $EDreamDonsair.stockX)>>\n\t<<case "WineCooler">>\n\t\t<<set $EDreamDonsair.bloat++; $EDreamDonsair.stock += (1 * $EDreamDonsair.stockX)>>\n\t<<case "LynxMilk">>\n\t\t<<set $EDreamDonsair.bloat++; $EDreamDonsair.stock += (3 * $EDreamDonsair.stockX)>>\n\t<<case "SoupDumplings">>\n\t\t<<set $EDreamDonsair.bloat += 2; $EDreamDonsair.stock += (4 * $EDreamDonsair.stockX)>>\n\t<<case "LakeSample">>\n\t\t<<set $EDreamDonsair.bloat += 3; $EDreamDonsair.stock += (10 * $EDreamDonsair.stockX)>>\n\t\t<<set _effect = random(1,6)>>\n\t\t\t<<if _effect eq 1>><<set $EDreamDonsDNA.gain += 0.1>>\n\t\t\t<<set $EDreamDonsDNA.tfFyynmorph += either(0,1); $EDreamDonsDNA.tfMirlait += either(0,0,1)>>\n\t\t\t\t<<set $EDreamDonsair.gain = $EDreamDonsDNA.gain>><<endif>>\n\t<<case "StonefruitGalette">>\n\t\t<<set $EDreamDonsair.bloat += 2; $EDreamDonsair.stock += (5 * $EDreamDonsair.stockX)>>\n\t<<case "SunhawkPlatter">>\n\t\t<<set $EDreamDonsair.bloat += 5; $EDreamDonsair.stock += (8 * $EDreamDonsair.stockX)>>\n\n/% Chimri %/\n\t<<case "ShimmerFragrant">>\n\t\t<<set $EDreamDonsair.bloat++; $EDreamDonsair.stock += (2 * $EDreamDonsair.stockX)>>\n\t<<case "PastryPuffs">>\n\t\t<<set $EDreamDonsair.bloat += 2; $EDreamDonsair.stock += (5 * $EDreamDonsair.stockX)>>\n\t<<case "GalaCake">>\n\t\t<<set $EDreamDonsair.bloat += 2; $EDreamDonsair.stock += (8 * $EDreamDonsair.stockX)>>\n\t<<case "FatierePump">>\n\t\t<<set $EDreamDonsair.bloat += 3; $EDreamDonsair.stock += (16 * $EDreamDonsair.stockX)>>\n\t<<case "OmniRoast">>\n\t\t<<set $EDreamDonsair.bloat += 5; $EDreamDonsair.stock += (12 * $EDreamDonsair.stockX)>>\n\t<<case "FiveFeast">>\n\t\t<<set $EDreamDonsair.bloat += 10; $EDreamDonsair.stock += (26 * $EDreamDonsair.stockX)>>\n\t\n<</switch>>\n\n
/% Actions - Goofy/Weird %/\n<<switch $EDreamDonsair.Action>>\n/% =========={ Greeting %/\n\t<<case "actGreet">>\n\t\t<<set $EDreamDonsair.Action = either("chirps ","squeaks ","croaks ") + " hello to you~!">>\n\n\n/% =========={ Idling/Autonomous %/\n\t<<case "actIdleLiving">>\n\t\t<<set $EDreamDonsair.Action = either("is having a good time!","seems in bright spirits.","seems in bright spirits.","seems playful!","fell asleep...","autoExplore")>>\n\t\t<<if $EDreamDonsair.Action eq "fell asleep...">><<set $EDreamDonsair.animOverride = "donsBreathe"; $EDreamDonsair.asleep = 1>>\n\t\t<<elseif $EDreamDonsair.Action eq "autoExplore">><<set $EDreamDonsair.animOverride = "donsBounce">>\n\t\t\t<<set $EDreamDonsair.Action = "went off exploring " + $EDreamDonsair.homeRegion + " on " + $EDreamDonsair.pnPos + " own, and returned home with [thing xQt] for you!">>\t\t\t\t\t\n\t\t\t<<endif>>\n\n\n/% =========={ Pet/Groom %/\n\t<<case "actPetted" "actGroomed">>\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","donsDance","donsStretch")>>\n\t\t<<set $EDreamDonsair.Action = either("purrs contentedly...","purrs brightly!","purrs happily!","purrs LOUDLY!","squiggles joyfully under your paw!","leans into your touch!")>>\n\n\n\n/% =========={ Kiss %/\n\t<<case "actKissed">>\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","donsDance","donsStretch")>>\n\t\t<<set $EDreamDonsair.Action = either("squeals in delight!!","squeaks in delight!!","purrs happily!","purrs LOUDLY!","kisses you back!!")>>\n\n\n/% =========={ Calm Down! %/\n\t<<case "actShh">>\n\t\t<<set $EDreamDonsair.Action = either("takes a deep breath and calms " + $EDreamDonsair.pnSelf + " for you...","stops squiggling around.","stops squiggling around, and bleps.")>>\n\n\n\n/% =========={ Explore! %/\n\t<<case "actExplore">>\n\t\t<<set $EDreamDonsair.animOverride = "donsDance">>\n\t\t<<set $EDreamDonsair.Action = "explores " + $EDreamDonsair.homeRegion + " with you!">>\n\t/% Explore result %/<<include EDX-DonsProcessExplore>>\n\n/% =========={ Feed %/\n\t<<case "actFed">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = "donsDance">>\n\t\t<<set $EDreamDonsair.Action = either("gives a little squeak of happy excitement, and eats!","rushes to enjoy its meal!","gives a squeak of gratitude before tucking in!","eats VORACIOUSLY!","inhales its food with little fanfare!")>>\n\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ Feed - Weird Foods %/\n\t<<case "actFedWeird">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\n\t\t<<if $EDreamDonsair.baseMood eq "weird">> /% Always eats weird foods %/\n\t\t\t<<set $EDreamDonsair.Action = either("pauses for a moment to consider your offering, before... consuming it...","sniffs with hesitation at the food you've brought it, but then eats it after all.","doesn't seem convinced by the food, but finally eats...","gives you a look, then consumes the offering.")>>\n\t\t\t<<include EDX-DonsProcessFood>>\n\t\t<<else>>\n\t\t\t<<set $EDreamDonsair.Action = either("pauses for a moment to consider your offering, before... consuming it...","sniffs with hesitation at the food you've brought it, but then eats it after all.","doesn't seem convinced by the food, but finally eats...","gives you a look, then consumes the offering.","doesn't want to eat that..!")>>\n\n\t\t<<if $EDreamDonsair.Action eq "doesn't want to eat that..!">>/% Failed feed attempt %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsAngy">>\n\t\t<<else>><<include EDX-DonsProcessFood>>\n\t\t<<endif>>\n\t<<endif>>\n\n\n/% =========={ Feed - Fatiere Pump %/\n\t<<case "actFedPump">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.Action = either("squeaks in surprise as you feed it from the Fatiere Pump!","squiggles on the pump, its cheeks puffing full!","gulps the slurry down as quickly as it can manage!","squirms at first, but settles into placidly drinking from the hose...","closes its eyes, drinking quietly...")>>\n\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ Feed - Beverages %/\n\t<<case "actFedDrink">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsDance")>>\n\t\t<<set $EDreamDonsair.Action = either("enjoys the drink!","laps contentedly at the beverage.","agreeably gulps down the drink!","drinks eagerly, sighing in refreshed satisfaction.")>>\n\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ No Directive %/\n\t\t<<default>>\n\t\t\t\t<<set $EDreamDonsair.Action = either("seems to be relaxing...","looks calm.","squeaks at you!","makes little noises to " + $EDreamDonsair.pnSelf + ".")>>\n\n<</switch>>
/% =========={ Store the prior action %/\n\t<<set $EDreamDonsair.lastAct = $EDreamDonsair.Action>>\n\n/% =========={ Action Override %/\n<<if $EDreamDonsair.actOverride neq "">>\n\t<<set $EDreamDonsair.Action = $EDreamDonsair.actOverride>>\n\n<<else>><<switch $EDreamDonsair.baseMood>>\n\t<<case "happy" "cheerful">><<include EDX-DonsActionsHappy>>\n\t<<case "playful" "bouncy" "energetic">><<include EDX-DonsActionsPlayful>>\n\t<<case "goofy" "weird">><<include EDX-DonsActionsGoofy>>\n\t<<case "grumpy">><<include EDX-DonsActionsGrumpy>>\n\t<<case "angry">><<include EDX-DonsActionsAngry>>\n\t<<default>><<include EDX-DonsActionsNeutral>>\n\t<</switch>>\n<<endif>>\n\n/% Cleanup %/\n\t<<set $EDreamDonsair.actOverride = "">>
<<set $EDXNames = {\n\tVec: ["Gueggy","Guaggy","Guiggy","Eggy","Donsair","Roset","Nugget","Snoot","Suai","Bean","Grande","Belsuite","Belly","Lumy","Danse","Damie","Shard","Facet","Fatling","Gueggon","Brioche","Butterscotch","Curry","Anise","Cinnamon","Nutmeg","Pawpaw","Cheddar","Violet","Lavender","Dreambean","Blueberry","Toffee","Mint","Poppy","Salmon","Pickle","Fennel","Morel","Shallot","Mirror","Berry","Rhubarb","Radish","Lettuce"],\n\n\n }>>
<center><<include EDX-SerializeDonsair>>\n\n<div class="gene"><b>Vitality</b><br> <<print $EDreamDonsDNA.maxVit>></div>\n<div class="gene"><b>Armor</b><br> <<print $EDreamDonsDNA.arm>></div>\n<div class="gene"><b>Strength</b><br> <<print $EDreamDonsDNA.str>></div>\n<div class="gene"><b>Will</b><br> <<print $EDreamDonsDNA.will>></div>\n<div class="gene"><b>Finesse</b><br> <<print $EDreamDonsDNA.fin>></div>\n<div class="gene"><b>Perception</b><br> <<print $EDreamDonsDNA.perc>></div>\n<div class="gene"><b>Whimsy</b><br> <<print $EDreamDonsDNA.whim>></div>\n<div class="gene"><b>Sanity</b><br> <<print $EDreamDonsDNA.san>></div>\n\n<br>\n\n<div class="gene"><b>Body Type</b><br> \n<<if $EDreamDonsDNA.bType neq "">><<print $EDreamDonsDNA.bType>><<else>>Unremarkable<<endif>></div>\n<div class="gene"><b>Stretch</b><br> <<print $EDreamDonsDNA.stretch>></div>\n<div class="gene"><b>Stock x</b><br> <<print $EDreamDonsDNA.stockX>></div>\n<div class="gene"><b>Gain</b><br> <<print $EDreamDonsDNA.gain>></div>\n\n<br>\n\n<<if $EDreamDonsDNA.chest gt 0>>\n<div class="gene"><b>Chest</b><br> <<print $EDreamDonsDNA.chest>></div><<endif>>\n\n<<if $EDreamDonsDNA.belly gt 0>>\n<div class="gene"><b>Belly</b><br> <<print $EDreamDonsDNA.belly>></div><<endif>>\n\n<<if $EDreamDonsDNA.body gt 0>>\n<div class="gene"><b>Body</b><br> <<print $EDreamDonsDNA.body>></div><<endif>>\n\n<<if $EDreamDonsDNA.limbs gt 0>>\n<div class="gene"><b><<print $EDreamLiveDons.limbType>></b><br> <<print $EDreamDonsDNA.limbs>></div><<endif>>\n\n<<if $EDreamDonsDNA.thigh gt 0>>\n<div class="gene"><b>Thighs</b><br> <<print $EDreamDonsDNA.thigh>></div><<endif>>\n\n<<if $EDreamDonsDNA.tail gt 0>>\n<div class="gene"><b>Tail</b><br> <<print $EDreamDonsDNA.tail>></div><<endif>>\n\n<br>\n\n<<if $EDreamDonsDNA.eggType neq "">>\n<div class="gene"><b>Egg Type</b><br> <<print $EDreamDonsDNA.eggType>></div>\n<div class="gene"><b>Clutch Rate</b><br> <<print $EDreamDonsDNA.clutchRate>></div><<endif>>\n\n<<if $EDreamDonsDNA.milkType neq "">>\n<div class="gene"><b>Milk Type</b><br> <<print $EDreamDonsDNA.milkType>></div>\n<div class="gene"><b>Milk Rate</b><br> <<print $EDreamDonsDNA.milkRate>></div>\n<div class="gene"><b>Milkfat</b><br> <<print $EDreamDonsDNA.milkfat>></div><<endif>>\n\n<<if $EDreamDonsDNA.venomType neq "">>\n<div class="gene"><b>Venom Type</b><br> <<print $EDreamDonsDNA.venomType>></div>\n<div class="gene"><b>Venom Rate</b><br> <<print $EDreamDonsDNA.venomRate>></div><<endif>>\n\n<br>\n\n<div class="gene"><b>Base Color</b><br> <<print $EDreamDonsDNA.baseColor>></div>\n<div class="gene"><b>Base Dilute</b><br> <<print $EDreamDonsDNA.baseDilute>></div>\n<div class="gene"><b>Belly Color</b><br> <<print $EDreamDonsDNA.bellyColor>></div>\n<div class="gene"><b>Belly Dilute</b><br> <<print $EDreamDonsDNA.bellyDilute>></div>\n\n/% "Accent Color" because "Complimentary" is too long and fucks things up %/\n<div class="gene"><b>Accent Color</b><br> <<print $EDreamDonsDNA.compColor>></div>\n<div class="gene"><b>Accent Dilute</b><br> <<print $EDreamDonsDNA.compDilute>></div>\n<div class="gene"><b>Marking Color</b><br> <<print $EDreamDonsDNA.markColor>></div>\n<div class="gene"><b>Marking Dilute</b><br> <<print $EDreamDonsDNA.markDilute>></div>\n\n<div class="gene"><b>Pattern Presence</b><br> <<print $EDreamDonsDNA.patPres>></div>\n<div class="gene"><b>White Spotting</b><br> <<print $EDreamDonsDNA.whiteSpot>></div>\n<div class="gene"><b>Grey</b><br> <<print $EDreamDonsDNA.Grey>></div>\n<div class="gene"><b>Freckle</b><br> <<print $EDreamDonsDNA.Freckle>></div>\n<div class="gene"><b>Gradient</b><br> <<print $EDreamDonsDNA.Gradient>></div>\n<div class="gene"><b>Filigree</b><br> <<print $EDreamDonsDNA.Filigree>></div>\n<div class="gene"><b>Harlequin</b><br> <<print $EDreamDonsDNA.Harlequin>></div>\n<div class="gene"><b>Stripes</b><br> <<print $EDreamDonsDNA.Stripe>></div>\n<div class="gene"><b>Ink</b><br> <<print $EDreamDonsDNA.Ink>></div>\n<div class="gene"><b>Anomaly</b><br> <<print $EDreamDonsDNA.Anomaly>></div>\n\n<br>\n\n<div class="gene"><b>Ear</b><br> <<print $EDreamDonsDNA.phnEar>></div>\n<div class="gene"><b>Snoot</b><br> <<print $EDreamDonsDNA.phnSnoot>></div>\n<div class="gene"><b>Eye</b><br> <<print $EDreamDonsDNA.phnEye>></div>\n<div class="gene"><b>Pupil</b><br> <<print $EDreamDonsDNA.phnPupil>></div>\n<div class="gene"><b>Head</b><br> <<print $EDreamDonsDNA.phnHeadDeco>></div>\n<div class="gene"><b>Rierbien</b><br> <<print $EDreamDonsDNA.phnRbien>></div>\n<div class="gene"><b>Teeth</b><br> <<print $EDreamDonsDNA.phnTeeth>></div>\n\n<br>\n\n<div class="gene"><b>Paw</b><br> <<print $EDreamDonsDNA.phnPaw>></div>\n<div class="gene"><b>Limbs</b><br> <<print $EDreamDonsDNA.phnLimb>></div>\n<div class="gene"><b>Beans</b><br> <<print $EDreamDonsDNA.phnBean>></div>\n<div class="gene"><b>Skin</b><br> <<print $EDreamDonsDNA.phnScale>></div>\n<div class="gene"><b>Belly</b><br> <<print $EDreamDonsDNA.phnBelly>></div>\n<div class="gene"><b>Spine</b><br> <<print $EDreamDonsDNA.phnSpine>></div>\n<div class="gene"><b>Tail</b><br> <<print $EDreamDonsDNA.phnTail>></div>\n<div class="gene"><b>Wings</b><br> <<print $EDreamDonsDNA.phnWing>></div>\n<div class="gene"><b>Theme</b><br> <<print $EDreamDonsDNA.phnTheme>></div>\n\n\n/% Linebreak if there are any mutations to display %/\n<<if $EDreamDonsDNA.Mutations.length gt 0>><br><<endif>>\n\n<<if $EDreamDonsDNA.Mutations.includes("viviere")>><div class="gene mut"><b>Viviere</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("ovian")>><div class="gene mut"><b>Ovian</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("slime")>><div class="gene mut"><b>Slime</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("pudding")>><div class="gene mut"><b>Pudding</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("balloon")>><div class="gene mut"><b>Balloon</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("plushie")>><div class="gene mut"><b>Plushie</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("adiposa")>><div class="gene mut"><b>Adiposa</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("confection")>><div class="gene mut"><b>Confection</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("epicurean")>><div class="gene mut"><b>Epicurean</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("evian")>><div class="gene mut"><b>Evian</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("honeypot")>><div class="gene mut"><b>Honeypot</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("greenhouse")>><div class="gene mut"><b>Greenhouse</b></div><<endif>>\n<<if $EDreamDonsDNA.Mutations.includes("rosebelly")>><div class="gene mut"><b>Rosebelly</b></div><<endif>>\n\n/% Linebreak if there are any TFs to display %/\n<<if $EDreamDonsDNA.TFs.length gt 0>><br><<endif>>\n\n<<if $EDreamDonsDNA.TFs.includes("realization")>>\n\t<div class="gene whim"><b>Realization</b><br> <<print $EDreamDonsDNA.tfRealization>>/5</div><<endif>>\n\n<<if $EDreamDonsDNA.TFs.includes("mirlait")>>\n\t<div class="gene whim"><b>Mirlait</b><br> <<print $EDreamDonsDNA.tfMirlait>>/35</div><<endif>>\n\n<<if $EDreamDonsDNA.TFs.includes("fyynmorph")>>\n\t<div class="gene whim"><b>Fyynmorph</b><br> <<print $EDreamDonsDNA.tfFyynmorph>>/10</div><<endif>>\n\n<<if $EDreamDonsDNA.TFs.includes("omniphage")>>\n\t<div class="gene whim"><b>Omniphage</b><br> <<print $EDreamDonsDNA.tfOmniphage>>/10</div><<endif>>\n\n</center><br>\n\t<b style="margin-left:.5rem;">DNA Sample</b><center>\n\t<div class="serial"> \n\t\t<<print $EDXDonsSerial.output>></div></center>\n\n\n\n\n
/% Header image animation, for fun! %/\n/% "donsAngy","donsBreathe","donsHappy","donsBounce","donsDance","donsJiggle","donsStretch","donsWeeOo","donsSeethe"; _randImg = $EDreamLiveDons.specImages.random(); %/\n<<set _animate = "donsStretch"; _randImg = $EDreamLiveDons.specImages.random();>> \n\n<center><h2><b>EVERDREAM <span class="cMagenta">♦</span></b> Living Donsair</h2>\n<div style="height:200px;"><<print "<img class='" + _animate +"' src='img/revecai_" + _randImg + ".png'>">></div>\n<h3>Changelog</h3></center>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/04/20</b><ul>\n\t\t<li>Engine: Began work on implementing breeding!</li>\n\t\t<li>UI: ...realized the phenotype genes weren't being displayed in the Genetics tray all this time.<br>\n\t\tThey exist, I just. Never built their display frames?<br>\n\t\tWhoops.</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/04/16</b><ul>\n\t\t<li>Engine: Debugged the Donsair DNA processor!<br>\n\t\t\tSome stats weren't transferring decimals out of their genetic code; I learned a new function to fix this!</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/04/07</b><ul>\n\t\t<li>Engine: Donsair DNA processing handler is now complete, and can fully create living donsair from the serialized DNA Sample string at the bottom of a Donsair's genetics output.<br>\n\t\tThis marks the completion of a significant step on the road to implementing the Breeding feature!</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/04/06</b><ul>\n\t\t<li>Engine: Built a handler for processing Donsair DNA text strings into valid Donsair genetic information (WIP).</li>\n\t\t<li>UI: Added "Load Donsair from DNA" option button to Start screen.</li>\n\t\t<li>UI: Added "DNA Sample" string to the bottom of the Genetics browser on the Donsair card.<br> \n\t\t\tThis will be used to load Donsair on the Start screen, and other important functions to come..!</li>\n\t\t<li>UI: Updated Donsair viewer to display both Subtype and Subspecies on the card.</li>\n\t\t<li>Engine: Updated creation and input processes to utilize the Subtype rather than the Subspecies slot for mutation and TF-based descriptors.</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/04/01</b><ul>\n\t\t<li>Engine: Initial pass on Stat Tracker mode, for using the Living Donsair applet as an EVERDREAM Stat Tracker.</li>\n\t\t<li>Engine: Implemented Donsair renaming.</li>\n\t\t<li>UI: Implemented pop-up menus for certain menu options.</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/03/31</b><ul>\n\t\t<li>Img: Experimented with 300-px versions of the Donsair images, to learn how that size will work in the UI and with the animation scripts.</li>\n\t\t<li>Engine: Updated Donsair Input and Generation modes to pull data from the GDB whenever possible; this should prevent having to update code in several places at once and reduce the risk of introducing new bugs when new options are added moving forward.</li>\n\t\t<li>Engine: Updated Name Generation to use the Name Lists from the GDB, and added many more Revec*ai names to roll from! Predictably, lots of them are random foods.</li>\n\t\t<li>Engine: Added Subtype variable, so Mutations and TFs no longer have to share Subspecies with the actual subspecies; this should also make calculating and printing accurate Donsair subtypes easier.</li>\n\t\t<li>Engine: Moved Mutation and Transformation lists into arrays, to hopefully make tracking them and printing their outputs easier to manage.</li>\n\t\t<li>UI: Adjusted positioning of Donsair image and maximum passage width values to allow for wider movement ranges in animation.</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/03/30</b><ul>\n\t\t<li>UI: Added limbType variable to display a suitable "Limb" name for the Donsair species presented (for example, "Arms").</li>\n\t\t<li>Debug: Fixed issue where certain personality types did not properly call Food Processing after eating.</li>\n\t\t<li>Debug: Food should now properly <i>add</i> to Donsair caloric stocks, rather than changing the value outright.</li>\n\t\t<li>Database: Transferred most Generative and Processing engines to the Global Database, in preparation for developing per-species Living Donsair applets.</li>\n\t\t<li>Debug: Angry Donsair should now pull from the dedicated Angry Actions Set as intended, rather than the Grumpy Set.</li>\n\t\t<li>Development: Updated file version to 0.1 (in line with updating systems to utilize the GDB rather than pull from the file itself).</li>\n\t\t<li>Database: Began building the Global Database entries, starting with transferring Food Processing and Animation Mood Processing into the GBD for usage across all Living Donsair applets.</li>\n\t\t<li>Feeding: Tantalizing Morsels can now grant bonus Trust.</li>\n\t\t<li>Engine: Added Grumpy/Angry Donsair Trust variants for mood animations.</li>\n\t\t<li>Engine: Added Grumpy/Angry Donsair Trust variants for Idle/Autonomous, Calm Down!, Explore, and Feed behaviors.</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/03/29</b><ul>\n\t\t<li>UI: Added Body Type to Genetics tray.</li>\n\t\t<li>Setup: Added Body Type randomization to generated Donsair, and Body Type selection to the Donsair Input interface.</li>\n\t\t<li>UI: Updated Stats to display only whole numbers, now that raw weight stats can potentially involve decimals.</li>\n\t\t<li>Engine: Added Body Type stat, for determining where a Donsair is more likely to accumulate new body fat.</li>\n\t\t<li>Engine: Added Exhaustion stat, for determining whether a Donsair can Explore or is too tired at the moment (NYI).</li>\n\t\t<li>Engine: Implemented Gain Process for handling weight gain in Donsair.</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/03/28</b><ul>\n\t\t<li>Engine: Bloat is now calculated, can affect both Stretch (above about 70% fullness) and Vitality (if exceeded), and gradually recedes with time (interaction ticks).<br> \n\t\tNext steps are to enable recovery of Vitality via caloric absorption, and coding the ability for Donsair to refuse additional food when full, and allowing the Player to press the issue.</li>\n\t\t<li>Engine: Began adding stats to foods. Processors for handling time-based effects such as digestion, bloat and weight gain to follow.</li>\n\t\t<li>Engine: Implemented Food Processing script, so that food effects can be applied after successful feeding is confirmed. Later, this will pull info from the Global Databank.</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/03/27</b><ul>\n\t\t<li>AI: It is now possible to <i>lose</i> a small amount of trust with more aggressive Donsair by attempting certain actions.</li>\n\t\t<li>Engine/Backend: Split Action Processes into individual passages by personality, to make the system cleaner to use, browse through and add onto.</li>\n\t\t<li>Bugfix: Fixed reactions outputting numbers rather than textual responses when Petting or Grooming Angry Donsair.</li>\n\t\t<li>Bugfix: Fixed the Thigh gene stat not being properly set up in Donsair Input processing.</li>\n\t\t<li>Engine: Implemented Donsair feeding! Foods offered are based on the Donsair's home region.<br>\n\t\t\tFeeding should be a useful method for warming more aggressive Donsair up to you without quite so much biting.</li>\n\t\t<li>Engine/Donsair Input: Updated Donsair Input processing to set up mutation and TF data.</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/03/26</b><ul>\n\t\t<li>Engine: Implemented a temporary Donsair generation protocol; later, this'll be driven by the Global DB.</li> \n\t\t<li>Engine: Added Stat Update processes to handle changes in the Donsair's various... stats...</li> \n\t\t<li>Donsair Input: Added base stats to the inputs, so there's a starting point to work with even if you don't add or change anything.</li>\n\t\t<li>Donsair Input: Renamed "Mooncradle" to "Moongarden" in the Donsair Region dropdown. Mooncradle was an old name for the same zone, whoops!</li>\n\t\t<li>Donsair Input: Built out the Input processor scripts, so data will actually be transferred to where it needs to go!</li>\n\t\t<li>UI: Set up the Donsair Stats display.</li>\n\t\t<li>Changelog: Added a little more formatting to tidy things up a smidge.</li>\n\t\t<li>Changelog: Fixed the Changelog date format. Whoops.</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t\t<b>26/03/25</b><ul>\n\t\t<li>UI: Moved the Genetics panel beneath the Actions panel.</li> \n\t\t<li>UI: Added Not Yet Implemented (NYI) signifiers on buttons that haven't been coded yet.</li> \n\t\t<li>Animation: Added Seethe animation, for when that gueggy is SO going to bite you.</li> \n\t\t<li>AI: Began implementing Trust for Angry and Grumpy donsair. Their reactions will change-- and even improve-- based on how they feel about you!</li> \n\t\t<li>Animation: Tweaked Stretch animation to stabilize the image vertically.</li> \n\t\t<li>Engine/UI: Added Groom (for now, equivalent to Pet) and Kiss actions.</li> \n\t\t<li>Engine: Added tick tracking in preparation of time-based processes to come.</li> \n\t\t<li>Engine/UI: Added first pass of Autonomous Mode, which will allow the donsair to act freely (not relying on player clicks) based on its personality.<br>\n\t\tActions will automatically disable Auto Mode, but it can always be toggled on again.</li>\n\t\t<li>Bugfix: Calm Down! should now force the breathing animation again.</li>\n\t\t<li>Engine: Added Explore Processor, in preparation for the region-based Micro-Explore system.<br>\n\t\t\tDonsair will explore their home region with you-- usually. Some Personality types may offer resistance..!</li>\n\t\t<li>Changelog: Added punctuation to bullet lists, because not punctuating sentences drives me <i>insane</i>...</li>\n\t\t<li>Donsair Input: Added Random options for Self-Concept, Personality, and Image, which will select one at random for you during processing.</li>\n\t\t<li>Donsair Input: Renamed "Mood" to "Personality".</li>\n\t\t<li>Engine: Added "Self Concept" option for Donsair, which will determine pronouns used when acting/reacting to interactions.</li>\n\t\t<li>Engine: Added Action Processor for determining Donsair responses based on mood and circumstance; species and phenotype-based modifiers to come.</li>\n\t\t<li>Engine/UI: Added Pet button.</li>\n\t\t<li>UI: Replaced Refresh button with Watch button.</li>\n\t\t<li>Engine/UI: Added toggleable Genetics tab.</li>\n\t\t<li>Donsair Input: Switched the position of checkboxes for Mutations and Transformations.</li>\n\t</ul></div>\n</div>\n\n\n<div class="w3-row-padding hMenu">\t\n\t<div class="indent" style="font-size: .8rem;">\t\n\t<b>26/03/24</b><ul>\n\t<li>Added a "Calm Down!" button to the Donsair UI for if you need to get your gueggy to stop doing backflips all over the menu bar.</li>\n\t<li>Added a temporary refresh button to the Donsair UI for testing purposes.</li>\n\t<li>Added gentle randomization of Donsair animations based on mood category.</li>\n\t<li>New test animations/moods: Dance, Bounce, Jiggle, Stretch, WeeOo.</li>\n\t<li>Went ahead and added a dedicated Changelog page, and a button for it on the main screen.</li>\n\t<li>Made some progress on building the Donsair Interface + setting up the Input data process.</li>\n\t\t<ul><li>Built the div frames for the donsair interface and started setting up inner contents.</li>\n\t\t<li>Donsair Name, Image, and Mood are all being saved and read from successfully.</li>\n\t\t</ul>\n\t<li>Added the changelog. <i>Oh shit,</i></li>\n\t\t<ul><li><s>Eventually I'll give it its own page and link/button, rather than just slapping it at the bottom of the title.</s></li></ul>\n\t<li>Added W3.css so I can hopefully make things relatively clean from the start, UI-wise.</li>\n\t<li>Started building the Donsair Input page.</li>\n\t<li>Did some experimental CSS animations for Donsair living/mood animations \n\t(Happy, Breathing, Angy-- yes, spelled exactly like that).</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding hMenu">\t\n\t<h4>Pending Tasks</h4>\n\t<div class="indent" style="font-size: .8rem;"><ul>\n\t\t<li>Implement GDB Explore Data (regional micro-encounters)</li>\n\t\t<li>Implement Fullness Responses</li>\n\t\t<li>Implement Product Harvesting</li>\n\t\t<li>Implement Species-specific Subspecies dropdown with one-time genetics modifiers</li>\n\t\t<li>Standardize Donsair image sizes + rebuild CSS animations</li>\n\t\t<li>Create first species-specific applet</li>\n\t</ul></div>\n</div>\n\n<div class="w3-row-padding tMenu"><center><p><b>\n\t<<button "Back" "Start">><</button>>\n\t</b></p></center>\n</div>
/% ==========={ Header }================ %/\n<<include Header>><div class="pFrame"><h5 class="mindent passTitle"><b>\nItem Directory\n</b></h5>/% ==========={ Scene }================ %/<div class="indent">\n\n<div class="qlog">(NYI) - This page will allow you to look up information about items found across Everdream, including simulated effects!</div>\n\n\n\n\n\n\n\n</div><br>\n</div>/% ==========={ Navigation }================ %/<div class="mindent"><p>\n<b><span class="cMagenta">♦</span></b>\n<span class="tLink">[[Continue|$EDXCommon.returnPassage]]</span>\n</p>\n\n/% ---------------- %/\n</div>
/% ==========={ Dynamic Header }================ %/\n<<include Header>><div class="pFrame"><h5 class="mindent passTitle">\n<b><<print $EDXCommon.dynHeaderA>></b> <span class="cMagenta">♦</span> <<print $EDXCommon.dynHeaderB>> <span class="cMagenta">♦</span> <<print $EDXCommon.dynHeaderC>>\n\n</h5>/% ==========={ Encounter Scenario Loops }================ %/\n<<switch $EDXCommon.scenario>>\n/% ==========={ Garden Tendrilvine %/\n\t<<case "GardenVine">><div class="indent"><<set $EDXCommon.counter++; _glut = random(4,16); _bloat = either(0,1,1,2,2,3); _belly = either(0,0,0,1)>>\t\t\n\t<p>The flower-studded vine eagerly coils itself around you, holding tight as it steadily <b>pumps you full of its sugary, rose-scented sap!</b> (<<print $EDXCommon.counter>>)</p>/% Stat Change %/<center><p><div class="announce"><b>Stockpile +<<print _glut>><<if _bloat gt 0>><br>Bloat +<<print _bloat>><<endif>><<if _belly>><br>Belly +1<<endif>>!</b></div></p></center>\n\n\n<</switch>>\n/% ================ %/\n\n\n</div>/% ==========={ Loop Navigation }================ %/<div class="mindent">\n<<switch $EDXCommon.scenario>>\n\t<<case "GardenVine">>\n\t<b><span class="cMagenta">♦</span></b><span class="tLink"><a id="navK" data-passage="passage()">(K)eep Drinking..!</a></span><br>\n\t<b><span class="cMagenta">♦</span></b><span class="tLink"><a id="navS" data-passage="EDX-EncounterSubmit" data-setter="$EDXCommon.scenario = 'GardenVine'; $EDXCommon.dynHeaderC = 'At The Mercy of the Garden Vine...'">(S)ubmit...</a></span><br>\n\t<b><span class="cMagenta">♦</span></b><span class="tLink"><a id="navM" data-passage="ExploreDBGardens">(M)ove On</a></span><br>\n/% ========== %/\n<</switch>>\n\n/% ---------------- %/\n</div>
/% Actions - Angry %/\n<<switch $EDreamDonsair.Action>>\n/% =========={ Greeting %/\n\t<<case "actGreet">>\n\t\t<<set $EDreamDonsair.Action = either("gives you a look, then glances away again.","shoots you a glance.","doesn't react to your arrival...","just looks at you.","takes note of you, but doesn't react.")>>\n\n\n/% =========={ Idling/Autonomous %/\n\t<<case "actIdleLiving">> /% Trust variants %/\n\n\t\t<<if $EDreamDonsair.Trust gte 35>> /% Accepting %/\n\t\t\t<<set $EDreamDonsair.Action = either("seems to be relaxing...","looks calm.","makes little noises to " + $EDreamDonsair.pnSelf + ".","fell asleep..!","gives you a soft, questioning look.","autoExplore")>>\n\n\t\t<<elseif $EDreamDonsair.Trust gte 20>> /% Wary %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<set $EDreamDonsair.Action = either("watches you closely.","sits quietly.","watches you carefully.","settles down, but keeps their eye on you...")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","")>>\n\t\t\t<<set $EDreamDonsair.Action = either("ignores you.","looks annoyed...","glances at you and sighs...","looks like " + $EDreamDonsair.pnRef1 + " wants to bite you.","watches you carefully.","settles down, but keeps their eye on you...")>>\n\t\t<<endif>>\n\n\t\t/% Pronoun grammar fix %/\n\t\t\t<<if $EDreamDonsair.Action eq "looks like they wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like they want to bite you.">>\n\t\t\t<<elseif $EDreamDonsair.Action eq "looks like jei wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like jei want to bite you.">><<endif>>\n\n\n/% =========={ Pet/Groom %/\n\t<<case "actPetted" "actGroomed">> /% Trust variants %/\n\t\t<<if $EDreamDonsair.Trust gte 50>> /% Trusting %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe"; $EDreamDonsair.Trust += either(0,1)>>\n\t\t\t<<set $EDreamDonsair.Action = either("purrs faintly...","purrs softly.","purrs softly.","purrs deeply!","leans into your touch!","seems to trust you..!","looks content...")>>\n\n\t\t<<elseif $EDreamDonsair.Trust gte 35>> /% Accepting %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<set $EDreamDonsair.Action = either("makes a soft little sound of confusion.","makes a soft little sound.","purrs weakly...","purrs faintly...","leans into your touch...","seems to be warming up to you...")>>\t\n\n\t\t\t<<switch $EDreamDonsair.Action>>\n\t\t\t\t<<case "makes a soft little sound." "purrs faintly..." "leans into your touch..." "seems to be warming up to you...">>\n\t\t\t\t\t<<set $EDreamDonsair.Trust += either(0,0,1)>>\n\t\t\t\t<<default>>\n\t\t\t<</switch>>\n\n\t\t<<elseif $EDreamDonsair.Trust gte 20>> /% Wary %/\n\t\t\t\t<<set $EDreamDonsair.Action = either("allows it...","makes a little sound of apprehension.","holds perfectly still.","purrs weakly.","tenses up!","leans away from your paw!","chatters " + $EDreamDonsair.pnPos + " teeth irritably!","looks like " + $EDreamDonsair.pnRef1 + " wants to bite you.","snaps at you!","tries to bite you!","bites you!!")>>\n\t\t\t\n\t\t\t<<switch $EDreamDonsair.Action>>\n\t\t\t\t<<case "purrs weakly." "allows it...">>\n\t\t\t\t\t<<set $EDreamDonsair.Trust += either(0,1,1); $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t\t<<case "snaps at you!" "tries to bite you!" "bites you!!">>\n\t\t\t\t\t<<set $EDreamDonsair.animOverride = either("donsAngy","donsSeethe")>>\n\t\t\t\t<<default>><<set $EDreamDonsair.animOverride = either("donsAngy","donsBreathe")>>\n\t\t\t<</switch>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t\t<<set $EDreamDonsair.Action = either("allows it...","tenses up!","leans away from your paw!","growls softly...","looks like " + $EDreamDonsair.pnRef1 + " wants to bite you.","snaps at you!","tries to bite you!","bites you!!")>>\n\t\t\t\n\t\t\t<<switch $EDreamDonsair.Action>>\n\t\t\t\t<<case "allows it...">>\n\t\t\t\t\t<<set $EDreamDonsair.Trust++; $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t\t<<case "snaps at you!" "tries to bite you!" "bites you!!">>\n\t\t\t\t\t<<set $EDreamDonsair.animOverride = either("donsAngy","donsSeethe")>>\n\t\t\t\t<<default>><<set $EDreamDonsair.animOverride = either("donsBreathe","donsAngy","donsSeethe")>>\n\t\t\t<</switch>>\n\n\t\t/% Pronoun grammar fix %/\n\t\t\t<<if $EDreamDonsair.Action eq "looks like they wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like they want to bite you.">>\n\t\t\t<<elseif $EDreamDonsair.Action eq "looks like jei wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like jei want to bite you.">><<endif>>\n\t\t<<endif>>\n\n\n/% =========={ Kiss %/\n\t<<case "actKissed">> /% Trust variants %/\t\t\t\n\t\t\t<<if $EDreamDonsair.Trust gte 30>> /% Accepting %/ <<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t\t<<set $EDreamDonsair.Trust += either(0,0,1)>>\n\t\t\t\t<<set $EDreamDonsair.Action = either("allows it...","allows it. You think " + $EDreamDonsair.pnRef1 +" looks a little bit happier...")>>\n\n\t\t\t<<elseif $EDreamDonsair.Trust gte 20>> /% Wary %/\n\t\t\t\t<<set $EDreamDonsair.Action = either("tenses up...","allows it...","allows it. You think " + $EDreamDonsair.pnRef1 +" looks a little bit happier...","grumbles at you, but doesn't fight...","makes a little indignant sound and leans away!")>>\n\n\t\t\t<<if $EDreamDonsair.Action.includes("allows it.")>>\n\t\t\t\t<<set $EDreamDonsair.Trust++; $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<else>>\n\t\t\t\t<<set $EDreamDonsair.animOverride = either("donsAngy","donsSeethe")>>\n\t\t\t<<endif>>\n\n\t\t\t<<else>> /% Mistrustful %/ <<set $EDreamDonsair.animOverride = either("donsAngy","donsSeethe")>>\n\t\t\t\t<<set $EDreamDonsair.Action = either("tenses up...","tries to bite you!","bites you!!","hisses angrily, warding you off!","snarls ferociously, warding you off!","makes a little indignant sound and leans away!")>>\n\t\t\t<<endif>>\n\n\t\t/% They pronoun grammar fix %/\n\t\t\t<<if $EDreamDonsair.Action eq "allows it. You think they looks a little bit happier...">>\n\t\t\t\t<<set $EDreamDonsair.Action = "allows it. You think they look a little bit happier...">>\n\t\t\t<<elseif $EDreamDonsair.Action eq "allows it. You think jei looks a little bit happier...">>\n\t\t\t\t<<set $EDreamDonsair.Action = "allows it. You think jei look a little bit happier...">><<endif>>\n\n\n/% =========={ Calm Down! %/\n\t<<case "actShh">> /% Trust variants %/\n\n\t\t<<if $EDreamDonsair.Trust gte 20>> /% Wary+ %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<set $EDreamDonsair.Action = either("gives a soft squeak of surprise, but quiets.")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.Action = either("looks pissed, but quiets.","looks like " + $EDreamDonsair.pnRef1 + " wants to bite you.")>>\n\t\t<<endif>>\t\t\n\n\t/% Pronoun grammar fix %/\n\t\t<<if $EDreamDonsair.Action eq "looks like they wants to bite you.">>\n\t\t\t<<set $EDreamDonsair.Action = "looks like they want to bite you.">>\n\t\t<<elseif $EDreamDonsair.Action eq "looks like jei wants to bite you.">>\n\t\t\t<<set $EDreamDonsair.Action = "looks like jei want to bite you.">><<endif>>\n\n\n/% =========={ Explore! %/\n\t<<case "actExplore">> /% Trust variants %/\n\n\t\t<<if $EDreamDonsair.Trust gte 35>> /% Accepting %/\n\t\t\t<<set $EDreamDonsair.Action = "willingly explores " + $EDreamDonsair.homeRegion + " with you!">>\n\n\t\t<<elseif $EDreamDonsair.Trust gte 20>> /% Wary %/\n\t\t\t<<set $EDreamDonsair.Action = either("begrudgingly explores " + $EDreamDonsair.homeRegion + " with you...","refusal")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.Action = either("begrudgingly explores " + $EDreamDonsair.homeRegion + " with you...","refusal","refusal","refusal")>>\n\t\t<<endif>>\t\t\n\t\t\n\t\t<<if $EDreamDonsair.Action eq "refusal">>\n\t\t\t<<set $EDreamDonsair.Action = either("growls when you approach with the lead!","tries to bite you!","bites you!","snarls ferociously!") + "<br>You guess you aren't going anywhere after all...">>\n\t\t<<else>> /% Explore result %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsDance">><<include EDX-DonsProcessExplore>>\n\t\t<<endif>>\n\n\n/% =========={ Feed %/\n\t<<case "actFed">> /% Todo - fullness variants %/ /% Trust variants %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\n\t\t<<if $EDreamDonsair.Trust gte 20>> /% Wary+ %/\n\t\t\t<<set $EDreamDonsair.Action = either("gives a little squeak of gratitude before tucking in.","eats cautiously...","eats, grumbling audibly as it chews.","eats silently.","seems to relax slightly as it focuses on its meal.","looks cautiously excited about the food.")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.Action = either("gives you a look, but approaches the food to eat.","eats cautiously, watching you the ENTIRE time.","eats, grumbling audibly as it chews.","eats silently.")>>\n\t\t<<endif>>\n\n\t\t<<if $EDreamDonsair.Trust lt 50>><<set $EDreamDonsair.Trust += either(0,1,1)>><<endif>>\n\t\t<<include EDX-DonsProcessFood>>\n\n/% =========={ Feed - Weird Foods %/\n\t<<case "actFedWeird">> /% Todo - fullness variants %/ /% Trust variants %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\n\t\t<<if $EDreamDonsair.Trust gte 20>> /% Wary+ %/\n\t\t\t<<set $EDreamDonsair.Action = either("eats cautiously...","pauses, eyeing the food with hesitation... but seems to accept it after a moment.","eats silently.","eyes the strange offering, then gives you a look of deep suspicion.","flat out refuses to eat it!","doesn't want to eat that..!")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.Action = either("gives you a look, but approaches the food to eat.","eats cautiously, watching you the ENTIRE time.","eats, grumbling audibly as it chews.","eyes the strange offering, then gives you a look of deep suspicion.","flat out refuses to eat it!","doesn't want to eat that..!")>>\n\t\t<<endif>>\n\n\t\t<<switch $EDreamDonsair.Action>>/% Failed feed attempt %/\n\t\t\t<<case "eyes the strange offering, then gives you a look of deep suspicion." "flat out refuses to eat it!" "doesn't want to eat that..!">>\n\t\t\t\t<<set $EDreamDonsair.animOverride = "donsAngy">>\n\t\t\t\t<<if $EDreamDonsair.Trust gt 3>><<set $EDreamDonsair.Trust -= either(0,1)>><<endif>>\n\t\t\t<<default>><<include EDX-DonsProcessFood>>\n\t\t<</switch>>\n\n\n/% =========={ Feed - Fatiere Pump %/\n\t<<case "actFedPump">> /% Todo - fullness variants %/ /% Trust variants %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\n\t\t<<if $EDreamDonsair.Trust gte 20>> /% Wary+ %/\n\t\t\t<<set $EDreamDonsair.Action = either("bites you, making you drop the hose!!","kicks and squirms at first, but settles into grudgingly drinking from the hose...","quietly lets you attach the hose to its face, and drinks with minimal grumbling...","allows you to attach the hose to its face, and drinks with minimal grumbling...">>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsAngy">>\n\t\t\t<<set $EDreamDonsair.Action = either("bites you, making you drop the hose!!","fights as you strap the hose to its face, complaining loudly between mouthfuls!","kicks and squirms at first, but settles into grudgingly drinking from the hose...")>>\n\t\t<<endif>>\n\n\t\t<<if $EDreamDonsair.Action eq "bites you, making you drop the hose!!">>/% Failed feed attempt %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsAngy">>\n\t\t\t<<if $EDreamDonsair.Trust gt 3>><<set $EDreamDonsair.Trust -= random(0,2)>><<endif>>\n\t\t<<else>><<include EDX-DonsProcessFood>>\n\t\t<<endif>>\n\n\n/% =========={ Feed - Beverages %/\n\t<<case "actFedDrink">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t<<set $EDreamDonsair.Action = either("enjoys the drink.","laps contentedly at the beverage.","gulps down the drink!","drinks eagerly, sighing in refreshed satisfaction."); $EDreamDonsair.Trust += either(0,1)>>\n\t\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ No Directive %/\n\t<<default>> /% Trust variants %/\n\n\t\t<<if $EDreamDonsair.Trust gte 35>> /% Accepting %/\n\t\t\t<<set $EDreamDonsair.Action = either("seems to be relaxing...","looks calm.","makes little noises to " + $EDreamDonsair.pnSelf + ".","fell asleep..!","gives you a soft, questioning look.","autoExplore")>>\n\n\t\t<<elseif $EDreamDonsair.Trust gte 20>> /% Wary %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<set $EDreamDonsair.Action = either("watches you closely.","sits quietly.","watches you carefully.","settles down, but keeps their eye on you...")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","")>>\n\t\t\t<<set $EDreamDonsair.Action = either("ignores you.","looks annoyed...","glances at you and sighs...","looks like " + $EDreamDonsair.pnRef1 + " wants to bite you.","watches you carefully.","settles down, but keeps their eye on you...")>>\n\t\t<<endif>>\n\n\t\t/% Pronoun grammar fix %/\n\t\t\t<<if $EDreamDonsair.Action eq "looks like they wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like they want to bite you.">>\n\t\t\t<<elseif $EDreamDonsair.Action eq "looks like jei wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like jei want to bite you.">><<endif>>\n\n<</switch>>
/% Try and make it easier to grab from the end of the input string whether the player has included a trailing space or not %/\n<<set $EDXProgen2.input += " ">>\n\n/% Process Serialized data into usable chunks %/\n\n\t/% Species %/\n\t<<set _cutterA = $EDXProgen2.input.indexOf(" subspec:")>>\n\t<<set _serialA = $EDXProgen2.input.slice(5,_cutterA)>>\n\t<<set $EDXProgen2.Species = _serialA>>\n\n\t/% Subspecies %/\n\t<<set _cutterB = $EDXProgen2.input.indexOf(" pers:")>>\n\t<<set _serialB = $EDXProgen2.input.slice((_cutterA + 9),_cutterB)>>\n\t<<set $EDXProgen2.Subspec = _serialB>>\n\n\n\t/% Personality %/\n\t<<set _cutterC = $EDXProgen2.input.indexOf(" img:")>>\n\t<<set _serialC = $EDXProgen2.input.slice((_cutterB + 6),_cutterC)>>\n\t<<set $EDXProgen2.baseMood = _serialC>>\n\n\n\t/% Image %/\n\t<<set _cutterD = $EDXProgen2.input.indexOf(" vit:")>>\n\t<<set _serialD = $EDXProgen2.input.slice((_cutterC + 5),_cutterD)>>\n\t<<set $EDXProgen2.img = _serialD>>\n\n\n\t/% Stats %/\n\t<<set _cutterA = $EDXProgen2.input.indexOf(" arm:")>>\n\t<<set _serialA = $EDXProgen2.input.slice((_cutterD + 5),_cutterA)>>\n\t<<set $EDXProgen2.vit = parseInt(_serialA); $EDXProgen2.maxVit = parseInt(_serialA)>>\n\n\t<<set _cutterB = $EDXProgen2.input.indexOf(" str:")>>\n\t<<set _serialB = $EDXProgen2.input.slice((_cutterA + 5),_cutterB)>>\n\t<<set $EDXProgen2.arm = parseInt(_serialB)>>\n\n\t<<set _cutterC = $EDXProgen2.input.indexOf(" will:")>>\n\t<<set _serialC = $EDXProgen2.input.slice((_cutterB + 5),_cutterC)>>\n\t<<set $EDXProgen2.str = parseInt(_serialC)>>\n\n\t<<set _cutterD = $EDXProgen2.input.indexOf(" fin:")>>\n\t<<set _serialD = $EDXProgen2.input.slice((_cutterC + 6),_cutterD)>>\n\t<<set $EDXProgen2.will = parseInt(_serialD)>>\n\n\t<<set _cutterE = $EDXProgen2.input.indexOf(" perc:")>>\n\t<<set _serialE = $EDXProgen2.input.slice((_cutterD + 5),_cutterE)>>\n\t<<set $EDXProgen2.fin = parseInt(_serialE)>>\n\n\t<<set _cutterF = $EDXProgen2.input.indexOf(" whim:")>>\n\t<<set _serialF = $EDXProgen2.input.slice((_cutterE + 6),_cutterF)>>\n\t<<set $EDXProgen2.perc = parseInt(_serialF)>>\n\n\t<<set _cutterG = $EDXProgen2.input.indexOf(" san:")>>\n\t<<set _serialG = $EDXProgen2.input.slice((_cutterF + 6),_cutterG)>>\n\t<<set $EDXProgen2.whim = parseInt(_serialG)>>\n\n\t<<set _cutterH = $EDXProgen2.input.indexOf(" bType:")>>\n\t<<set _serialH = $EDXProgen2.input.slice((_cutterG + 5),_cutterH)>>\n\t<<set $EDXProgen2.san = parseInt(_serialH)>>\n\n\t/% Proportions %/\n\n\t<<set _cutterK = $EDXProgen2.input.indexOf(" chest:")>>\n\t<<set _serialK = $EDXProgen2.input.slice((_cutterH + 7),_cutterK)>>\n\t<<set $EDXProgen2.bType = _serialK>> \n\t/% Careful! This shouldn't be parseInt; it literally is not a number %/\n\n\t<<set _cutterL = $EDXProgen2.input.indexOf(" belly:")>>\n\t<<set _serialL = $EDXProgen2.input.slice((_cutterK + 7),_cutterL)>>\n\t<<set $EDXProgen2.chest = parseInt(_serialL)>>\n\n\t<<set _cutterM = $EDXProgen2.input.indexOf(" body:")>>\n\t<<set _serialM = $EDXProgen2.input.slice((_cutterL + 7),_cutterM)>>\n\t<<set $EDXProgen2.belly = parseInt(_serialM)>>\n\n\t<<set _cutterN = $EDXProgen2.input.indexOf(" limbs:")>>\n\t<<set _serialN = $EDXProgen2.input.slice((_cutterM + 6),_cutterN)>>\n\t<<set $EDXProgen2.body = parseInt(_serialN)>>\n\n\t<<set _cutterO = $EDXProgen2.input.indexOf(" thigh:")>>\n\t<<set _serialO = $EDXProgen2.input.slice((_cutterN + 7),_cutterO)>>\n\t<<set $EDXProgen2.limbs = parseInt(_serialO)>>\n\n\t<<set _cutterP = $EDXProgen2.input.indexOf(" tail:")>>\n\t<<set _serialP = $EDXProgen2.input.slice((_cutterO + 7),_cutterP)>>\n\t<<set $EDXProgen2.thigh = parseInt(_serialP)>>\n\n\t<<set _cutterQ = $EDXProgen2.input.indexOf(" gain:")>>\n\t<<set _serialQ = $EDXProgen2.input.slice((_cutterP + 6),_cutterQ)>>\n\t<<set $EDXProgen2.tail = parseInt(_serialQ)>>\n\n\t/% Metabolic %/\n\t/% Use parseFloat for numbers that may include decimals! %/\n\t<<set _cutterR = $EDXProgen2.input.indexOf(" stockX:")>>\n\t<<set _serialR = $EDXProgen2.input.slice((_cutterQ + 6),_cutterR)>>\n\t<<set $EDXProgen2.gain = parseFloat(_serialR)>>\n\n\t<<set _cutterS = $EDXProgen2.input.indexOf(" stretch:")>>\n\t<<set _serialS = $EDXProgen2.input.slice((_cutterR + 8),_cutterS)>>\n\t<<set $EDXProgen2.stockX = parseFloat(_serialS)>>\n\n\t<<set _cutterT = $EDXProgen2.input.indexOf(" eggType:")>>\n\t<<set _serialT = $EDXProgen2.input.slice((_cutterS + 9),_cutterT)>>\n\t<<set $EDXProgen2.stretch = parseFloat(_serialT)>>\n\n\t/% Products %/\n\n\t<<set _cutterU = $EDXProgen2.input.indexOf(" milkType:")>>\n\t<<set _serialU = $EDXProgen2.input.slice((_cutterT + 9),_cutterU)>>\n\t<<set $EDXProgen2.eggType = _serialU>>\n\n\t<<set _cutterV = $EDXProgen2.input.indexOf(" venomType:")>>\n\t<<set _serialV = $EDXProgen2.input.slice((_cutterU + 10),_cutterV)>>\n\t<<set $EDXProgen2.milkType = _serialV>>\n\n\t<<set _cutterW = $EDXProgen2.input.indexOf(" clutchRate:")>>\n\t<<set _serialW = $EDXProgen2.input.slice((_cutterV + 11),_cutterW)>>\n\t<<set $EDXProgen2.venomType = _serialW>>\n\n\t<<set _cutterX = $EDXProgen2.input.indexOf(" milkRate:")>>\n\t<<set _serialX = $EDXProgen2.input.slice((_cutterW + 12),_cutterX)>>\n\t<<set $EDXProgen2.clutchRate = parseInt(_serialX)>>\n\n\t<<set _cutterY = $EDXProgen2.input.indexOf(" milkfat:")>>\n\t<<set _serialY = $EDXProgen2.input.slice((_cutterX + 10),_cutterY)>>\n\t<<set $EDXProgen2.milkRate = parseInt(_serialY)>>\n\n\t<<set _cutterZ = $EDXProgen2.input.indexOf(" venomRate:")>>\n\t<<set _serialZ = $EDXProgen2.input.slice((_cutterY + 9),_cutterZ)>>\n\t<<set $EDXProgen2.milkfat = parseInt(_serialZ)>>\n\n\t/% Using a random non-A letter so as to not upset the next call %/\n\t<<set _cutterM = $EDXProgen2.input.indexOf(" baseColor:")>>\n\t<<set _serialM = $EDXProgen2.input.slice((_cutterZ + 11),_cutterM)>>\n\t<<set $EDXProgen2.venomRate = parseInt(_serialM)>>\n\n\t/% Colors/Markings %/\n\n\t<<set _cutterA = $EDXProgen2.input.indexOf(" baseDilute:")>>\n\t<<set _serialA = $EDXProgen2.input.slice((_cutterM + 11),_cutterA)>>\n\t<<set $EDXProgen2.baseColor = _serialA>>\n\n\t<<set _cutterB = $EDXProgen2.input.indexOf(" bellyColor:")>>\n\t<<set _serialB = $EDXProgen2.input.slice((_cutterA + 12),_cutterB)>>\n\t<<set $EDXProgen2.baseDilute = _serialB>>\n\n\t<<set _cutterC = $EDXProgen2.input.indexOf(" bellyDilute:")>>\n\t<<set _serialC = $EDXProgen2.input.slice((_cutterB + 12),_cutterC)>>\n\t<<set $EDXProgen2.bellyColor = _serialC>>\n\n\t<<set _cutterD = $EDXProgen2.input.indexOf(" compColor:")>>\n\t<<set _serialD = $EDXProgen2.input.slice((_cutterC + 13),_cutterD)>>\n\t<<set $EDXProgen2.bellyDilute = _serialD>>\n\n\t<<set _cutterE = $EDXProgen2.input.indexOf(" compDilute:")>>\n\t<<set _serialE = $EDXProgen2.input.slice((_cutterD + 11),_cutterE)>>\n\t<<set $EDXProgen2.compColor = _serialE>>\n\n\t<<set _cutterF = $EDXProgen2.input.indexOf(" markColor:")>>\n\t<<set _serialF = $EDXProgen2.input.slice((_cutterE + 12),_cutterF)>>\n\t<<set $EDXProgen2.compDilute = _serialF>>\n\n\t<<set _cutterG = $EDXProgen2.input.indexOf(" markDilute:")>>\n\t<<set _serialG = $EDXProgen2.input.slice((_cutterF + 11),_cutterG)>>\n\t<<set $EDXProgen2.markColor = _serialG>>\n\n\t<<set _cutterH = $EDXProgen2.input.indexOf(" patPres:")>>\n\t<<set _serialH = $EDXProgen2.input.slice((_cutterG + 12),_cutterH)>>\n\t<<set $EDXProgen2.markDilute = _serialH>>\n\n\t<<set _cutterI = $EDXProgen2.input.indexOf(" whiteSpot:")>>\n\t<<set _serialI = $EDXProgen2.input.slice((_cutterH + 9),_cutterI)>>\n\t<<set $EDXProgen2.patPres = _serialI>>\n\n\t<<set _cutterJ = $EDXProgen2.input.indexOf(" grey:")>>\n\t<<set _serialJ = $EDXProgen2.input.slice((_cutterI + 11),_cutterJ)>>\n\t<<set $EDXProgen2.whiteSpot = _serialJ>>\n\n\t<<set _cutterK = $EDXProgen2.input.indexOf(" freckle:")>>\n\t<<set _serialK = $EDXProgen2.input.slice((_cutterJ + 6),_cutterK)>>\n\t<<set $EDXProgen2.Grey = _serialK>>\n\n\t<<set _cutterL = $EDXProgen2.input.indexOf(" gradient:")>>\n\t<<set _serialL = $EDXProgen2.input.slice((_cutterK + 9),_cutterL)>>\n\t<<set $EDXProgen2.Freckle = _serialL>>\n\n\t<<set _cutterM = $EDXProgen2.input.indexOf(" filigree:")>>\n\t<<set _serialM = $EDXProgen2.input.slice((_cutterL + 10),_cutterM)>>\n\t<<set $EDXProgen2.Gradient = _serialM>>\n\n\t<<set _cutterN = $EDXProgen2.input.indexOf(" harlequin:")>>\n\t<<set _serialN = $EDXProgen2.input.slice((_cutterM + 10),_cutterN)>>\n\t<<set $EDXProgen2.Filigree = _serialN>>\n\n\t<<set _cutterO = $EDXProgen2.input.indexOf(" stripe:")>>\n\t<<set _serialO = $EDXProgen2.input.slice((_cutterN + 11),_cutterO)>>\n\t<<set $EDXProgen2.Harlequin = _serialO>>\n\n\t<<set _cutterP = $EDXProgen2.input.indexOf(" ink:")>>\n\t<<set _serialP = $EDXProgen2.input.slice((_cutterO + 8),_cutterP)>>\n\t<<set $EDXProgen2.Stripe = _serialP>>\n\n\t<<set _cutterQ = $EDXProgen2.input.indexOf(" anomaly:")>>\n\t<<set _serialQ = $EDXProgen2.input.slice((_cutterP + 5),_cutterQ)>>\n\t<<set $EDXProgen2.Ink = _serialQ>>\n\n\t<<set _cutterR = $EDXProgen2.input.indexOf(" phnEar:")>>\n\t<<set _serialR = $EDXProgen2.input.slice((_cutterQ + 9),_cutterR)>>\n\t<<set $EDXProgen2.Anomaly = _serialR>>\n\t\n\t/% Phenotype %/\n\n\t<<set _cutterS = $EDXProgen2.input.indexOf(" phnSnoot:")>>\n\t<<set _serialS = $EDXProgen2.input.slice((_cutterR + 8),_cutterS)>>\n\t<<set $EDXProgen2.phnEar = _serialS>>\n\n\t<<set _cutterT = $EDXProgen2.input.indexOf(" phnEye:")>>\n\t<<set _serialT = $EDXProgen2.input.slice((_cutterS + 10),_cutterT)>>\n\t<<set $EDXProgen2.phnSnoot = _serialT>>\n\n\t<<set _cutterU = $EDXProgen2.input.indexOf(" phnPupil:")>>\n\t<<set _serialU = $EDXProgen2.input.slice((_cutterT + 8),_cutterU)>>\n\t<<set $EDXProgen2.phnEye = _serialU>>\n\n\t<<set _cutterV = $EDXProgen2.input.indexOf(" phnHeadDeco:")>>\n\t<<set _serialV = $EDXProgen2.input.slice((_cutterU + 10),_cutterV)>>\n\t<<set $EDXProgen2.phnPupil = _serialV>>\n\n\t<<set _cutterW = $EDXProgen2.input.indexOf(" phnRbien:")>>\n\t<<set _serialW = $EDXProgen2.input.slice((_cutterV + 13),_cutterW)>>\n\t<<set $EDXProgen2.phnHeadDeco = _serialW>>\n\n\t<<set _cutterX = $EDXProgen2.input.indexOf(" phnTeeth:")>>\n\t<<set _serialX = $EDXProgen2.input.slice((_cutterW + 10),_cutterX)>>\n\t<<set $EDXProgen2.phnRbien = _serialX>>\n\n\t<<set _cutterY = $EDXProgen2.input.indexOf(" phnPaw:")>>\n\t<<set _serialY = $EDXProgen2.input.slice((_cutterX + 10),_cutterY)>>\n\t<<set $EDXProgen2.phnTeeth = _serialY>>\n\n\t<<set _cutterZ = $EDXProgen2.input.indexOf(" phnLimb:")>>\n\t<<set _serialZ = $EDXProgen2.input.slice((_cutterY + 8),_cutterZ)>>\n\t<<set $EDXProgen2.phnPaw = _serialZ>>\n\n\t<<set _cutterA = $EDXProgen2.input.indexOf(" phnBean:")>>\n\t<<set _serialA = $EDXProgen2.input.slice((_cutterZ + 9),_cutterA)>>\n\t<<set $EDXProgen2.phnLimb = _serialA>>\n\n\t<<set _cutterB = $EDXProgen2.input.indexOf(" phnScale:")>>\n\t<<set _serialB = $EDXProgen2.input.slice((_cutterA + 9),_cutterB)>>\n\t<<set $EDXProgen2.phnBean = _serialB>>\n\n\t<<set _cutterC = $EDXProgen2.input.indexOf(" phnBelly:")>>\n\t<<set _serialC = $EDXProgen2.input.slice((_cutterB + 10),_cutterC)>>\n\t<<set $EDXProgen2.phnScale = _serialC>>\n\n\t<<set _cutterD = $EDXProgen2.input.indexOf(" phnSpine:")>>\n\t<<set _serialD = $EDXProgen2.input.slice((_cutterC + 10),_cutterD)>>\n\t<<set $EDXProgen2.phnBelly = _serialD>>\n\n\t<<set _cutterE = $EDXProgen2.input.indexOf(" phnTail:")>>\n\t<<set _serialE = $EDXProgen2.input.slice((_cutterD + 10),_cutterE)>>\n\t<<set $EDXProgen2.phnSpine = _serialE>>\n\n\t<<set _cutterF = $EDXProgen2.input.indexOf(" phnWing:")>>\n\t<<set _serialF = $EDXProgen2.input.slice((_cutterE + 9),_cutterF)>>\n\t<<set $EDXProgen2.phnTail = _serialF>>\n\n\t<<set _cutterG = $EDXProgen2.input.indexOf(" phnTheme:")>>\n\t<<set _serialG = $EDXProgen2.input.slice((_cutterF + 9),_cutterG)>>\n\t<<set $EDXProgen2.phnWing = _serialG>>\n\n\t/% End of the guaranteed entries, so fiddlier to separate out %/\n\t<<set _cutterH = $EDXProgen2.input.slice((_cutterG + 1))>>\n\t<<set _cutterHa = _cutterH.indexOf(" ")>>\n\n\t<<set _serialH = _cutterH.slice(9,_cutterHa)>>\n\t<<set $EDXProgen2.phnTheme = _serialH>>\n\n\t/% Mutations %/\n\t\n\t<<if $EDXProgen2.input.includes("mutViviere")>>\n\t\t<<set $EDXProgen2.mutViviere = 1>><<endif>>\t\t\n\t<<if $EDXProgen2.input.includes("mutOvian")>>\n\t\t<<set $EDXProgen2.mutOvian = 1>><<endif>>\t\t\n\t<<if $EDXProgen2.input.includes("mutSlime")>>\n\t\t<<set $EDXProgen2.mutSlime = 1>><<endif>>\t\t\n\t<<if $EDXProgen2.input.includes("mutPudding")>>\n\t\t<<set $EDXProgen2.mutPudding = 1>><<endif>>\t\t\n\t<<if $EDXProgen2.input.includes("mutBalloon")>>\n\t\t<<set $EDXProgen2.mutBalloon = 1>><<endif>>\t\n\t<<if $EDXProgen2.input.includes("mutPlushie")>>\n\t\t<<set $EDXProgen2.mutPlushie = 1>><<endif>>\t\n\t<<if $EDXProgen2.input.includes("mutAdiposa")>>\n\t\t<<set $EDXProgen2.mutAdiposa = 1>><<endif>>\t\n\t<<if $EDXProgen2.input.includes("mutConfection")>>\n\t\t<<set $EDXProgen2.mutConfection = 1>><<endif>>\t\n\t<<if $EDXProgen2.input.includes("mutEpicurean")>>\n\t\t<<set $EDXProgen2.mutEpicurean = 1>><<endif>>\t\n\t<<if $EDXProgen2.input.includes("mutEvian")>>\n\t\t<<set $EDXProgen2.mutEvian = 1>><<endif>>\t\n\t<<if $EDXProgen2.input.includes("mutHoneypot")>>\n\t\t<<set $EDXProgen2.mutHoneypot = 1>><<endif>>\t\n\t<<if $EDXProgen2.input.includes("mutGreenhouse")>>\n\t\t<<set $EDXProgen2.mutGreenhouse = 1>><<endif>>\t\n\t<<if $EDXProgen2.input.includes("mutRosebelly")>>\n\t\t<<set $EDXProgen2.mutRosebelly = 1>><<endif>>\n\n\t/% TFs %/\n\t\t\t\n\t<<if $EDXProgen2.input.includes("tfFyynmorph")>>\n\t\t<<set _cutterA = $EDXProgen2.input.indexOf("tfFyynmorph:")>>\n\t\t<<set _sliceA = $EDXProgen2.input.slice(_cutterA)>>\n\t\t<<set _cutterAx = _sliceA.indexOf(" ")>>\n\t\t<<set _serialA = _sliceA.slice(12,_cutterAx)>>\n\t\t<<set $EDXProgen2.tfFyynmorph = parseInt(_serialA)>>\n\t<<else>><<set $EDXProgen2.tfFyynmorph = 0>><<endif>>\t\n\t\t\t\n\t<<if $EDXProgen2.input.includes("tfOmniphage")>>\n\t\t<<set _cutterB = $EDXProgen2.input.indexOf("tfOmniphage:")>>\n\t\t<<set _sliceB = $EDXProgen2.input.slice(_cutterB)>>\n\t\t<<set _cutterBx = _sliceB.indexOf(" ")>>\n\t\t<<set _serialB = _sliceB.slice(12,_cutterBx)>>\n\t\t<<set $EDXProgen2.tfOmniphage = parseInt(_serialB)>>\n\t<<else>><<set $EDXProgen2.tfOmniphage = 0>><<endif>>\t\n\t\t\t\n\t<<if $EDXProgen2.input.includes("tfRealization")>>\n\t\t<<set _cutterC = $EDXProgen2.input.indexOf("tfRealization:")>>\n\t\t<<set _sliceC = $EDXProgen2.input.slice(_cutterC)>>\n\t\t<<set _cutterCx = _sliceC.indexOf(" ")>>\n\t\t<<set _serialC = _sliceC.slice(14,_cutterCx)>>\n\t\t<<set $EDXProgen2.tfRealization = parseInt(_serialC)>>\n\t<<else>><<set $EDXProgen2.tfRealization = 0>><<endif>>\t\n\t\t\t\n\t<<if $EDXProgen2.input.includes("tfMirlait")>>\n\t\t<<set _cutterD = $EDXProgen2.input.indexOf("tfMirlait:")>>\n\t\t<<set _sliceD = $EDXProgen2.input.slice(_cutterD)>>\n\t\t<<set _cutterDx = _sliceD.indexOf(" ")>>\n\t\t<<set _serialD = _sliceD.slice(10,_cutterDx)>>\n\t\t<<set $EDXProgen2.tfMirlait = parseInt(_serialD)>>\n\t<<else>><<set $EDXProgen2.tfMirlait = 0>><<endif>>\n\n\n/% <p>DEBUG: Successfully built breed reference donsair for Progenitor <<print $EDXProgen2.name>>...</p> %/\n\n
/* ============================================ */\n/* ============================================ */\n/* Transitions*/\n/* ============================================ */\n\n* {\n -o-transition-property: none !important;\n -moz-transition-property: none !important;\n -ms-transition-property: none !important;\n -webkit-transition-property: none !important;\n transition-property: none !important;\n\t-ms-overflow-style: none; /* IE and Edge */\n\tscrollbar-width: none; /* Firefox */\n}\n\n#passages { max-width: 65% !important; }\n\nbody::-webkit-scrollbar { display: none; }\n\n.error-view { background-color: #677eb6; }\n\n\n/* Development Tools */\n\n.cardHilite {\n\tbackground-color: red !important;\n\tborder: 2px solid #1a7be1 !important;\n\tborder-radius: 3px !important;\n}\n.cardOutline {\n\tborder: 2px solid #4b4a6c !important;\n\tborder-radius: 3px !important;\n}\n\n\n/* ============================================ */\n/* Styling */\n\n.inputDNA {\n\tposition: relative;\n\ttop: 25%;\n\tleft: 35%;\n\tright: 50%;\n}\n\n.contentframe {\n\tpadding: 1.5rem;\n\tpadding-top: 2rem;\n\tmargin-top: -1rem;\n\tz-index: 0;\n}\n\n.indent { margin-left: 3rem; }\n.titleMini { margin-top: -0.6rem; margin-left: 1rem; }\n\n.cardtitle { \n\tborder-bottom: 1px solid #4b4a6c;\n\tmax-width: 75%;\n}\n.paddedcard { margin: 1.5rem; }\n\n.rcolumn, .fcolumn { \n\tpadding: 0.8rem; padding-top: 1rem !important;\n}\n.rcolumn { \n\tborder: 1px solid #4b4a6c;\n\twidth: 350px !important;\n\tmargin-left: 8rem; \n}\n.fcolumn { \n\twidth: 48% !important;\n\tmargin: 0.1rem;\n\tmargin-top: 0.8rem;\n\tmargin-bottom: 1.2rem;\n}\n\n.hMenu, .tMenu, .wMenu { \n\tmargin-top: 1.2rem;\n\tmargin-bottom: -0.8rem;\n\tpadding: 0.8rem !important;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.hMenu { \n\twidth: 75%;\n\tborder: 1px solid #4b4a6c;\n\tmargin-left: auto !important; margin-right: auto !important;\n }\n\n.wMenu { \n\twidth: initial !important; \n\tborder: 1px solid #4b4a6c;\n\tmargin-left: auto !important; margin-right: auto !important;\n }\n\n.cMenu { \n\tmargin: initial;\n}\n\n\n.vSpace { margin: -0.8rem; }\n.vSpace2 { margin: -0.6rem; }\n\n.spoilerHL { margin-top: 1rem; font-size: 0.6rem; color: #c5c9ff; }\n.spoilerInfo { font-size: 0.8rem; color: #000; }\n\n.ulHeader { \n\tposition: relative; left: -2.5rem;\n\tborder-bottom: 1px solid white; \n\tmargin-bottom: 1rem; \n}\n\n.intro { font-size: 0.8rem; font-style: oblique; color: #50A5CE; }\n.script { color: #C49C00; font-style: oblique; font-family: serif; font-size: 1.8rem; }\n\n.item { color: #00a8a8; font-size: 0.8rem; }\n.trap { color: #e30075; font-size: 0.8rem; }\n\ninput[type="text"] { \n\tmargin-bottom: 0.3rem;\n\tmin-width: initial;\n}\n\nbutton { \n\tline-height: 0.5; \n\tpadding: .6em;\n\tmargin: .2em;\n\tmargin-bottom: 0.3rem !important;\n }\n.btn { \n\tcolor: #2355b3;\n\tbackground-color: #fcfdfd;\n\tborder: 1px solid #a27200;\n\tmargin-left: 0.2rem; margin-bottom: 0.3rem; }\n.btnClick { margin-left: 0.4rem; color: #68D5FF; }\n.btnClick:hover { color: #FF0CB3; text-decoration: underline; }\n\n.btnX { color: #2355b300; background-color: #fcfdfd00; border: 1px solid #a2720000;}\n\n.roll, .rollAlleles, .rollPlaintxt { \n\tfont-size: 0.8rem; background-color: #fff; color: #090B97;\n\tborder: 0.1rem solid #a27200; text-shadow: 0.15rem 0.15rem 0.15rem #005BE840; padding: 1.2rem;\n}\n\n.roll { display: block; }\n\n.rollAlleles, .rollPlaintxt { \n\tdisplay: inline-block;\n\twidth: 48%; min-width: 10rem;\n}\n\n.imgFrame {\n\tposition: relative;\n\tleft: 8%;\n\tright: auto;\n}\n\n.imgStack {\n\tposition: relative; left: -22rem; top: 8rem; z-index: 10;\n}\n\n.colorful {\n\tbackground: linear-gradient(to right, red, orange, blue, violet);\n\t-webkit-background-clip: text;\n\tbackground-clip: text;\n\tcolor: transparent;\n}\n\n.stat, .gene, .autoMode, .statMode, .statMod, .serial {\n display: inline-block;\n margin-bottom: 0.1rem;\n padding-left: 0.1rem;\n padding-right: 0.1rem;\n border-radius: 0.2rem; \n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n border: 1px solid #FFF;\n margin-bottom: 0.2rem;\n}\n\n.stat { line-height: 1.4rem; width: 6rem; font-size: 0.8rem; }\n.statMod { line-height: 1.4rem; width: 12rem; font-size: 0.8rem; }\n\n.gene { width: 8rem; font-size: 0.65rem; }\n\n.serial { font-size: 0.5rem; width: 97%; border: 1px solid #686779; background-color: #2f3339; color: #a8ced7; text-shadow: 1px 1px 1px #0e0040; }\n\n.autoMode, .statMode { \n\tbackground-color: #ff5f939e;\n\twidth: 33%; height: 3rem;\n\tpadding: .5rem !important;\n\tmargin-top: 0.2rem !important;\n\twidth: 25%; height: 2.2rem;\n\tfont-size: 0.65rem;\n}\n\n.autoMode { \n\tbackground-color: #ff5f939e;\n\tborder: 1px solid #4b4a6c;\n}\n\n.statMode {\n\tbackground-color: #997cff9e;\n\tborder: 1px solid #8683f9;\n\tcolor: #ffdbc5;\n}\n\n.menuScreen {\n\tposition: fixed;\n\tz-index: 10;\n\theight: 110%;\n\twidth: 110%;\n\tbackground-color: #34336094;\n\tleft: -2em; top: -1em;\n}\n\n.pMenu {\n\tposition: relative;\n\ttop: 25%;\n\tmargin-left: 33% !important;\n\twidth: 35%; min-height: 10em;\n\tbackground-color: #1c1924; \n\tborder: 1px solid #4b4a6c;\n}\n\n/* ============================================ */\n/* Colors */\n\n.cRed { color: #C40C0C; }\n.cCream { color: #E1BD97; text-shadow: -0.08rem 0.08rem #800b0b; }\n.cTan { color: #D5A276; }\n.cOrange { color: #F78B00; }\n.cBrown { color: #6A4A29; }\n.cGold { color: #E1C368; text-shadow: -0.08rem 0.08rem #800b0b; }\n.cYellow { color: #FFC109; text-shadow: -0.08rem 0.08rem #000; }\n.cLime { color: #B2CA0A; text-shadow: -0.08rem 0.08rem #000; }\n.cGreen { color: #618C01; }\n.cOlive { color: #7A8A07; }\n.cTeal { color: #00D297; }\n.cSky { color: #64AFFF; }\n.cBlue { color: #235EEA; }\n.cIndigo { color: #3A0686; }\n.cLavender { color: #D288DD; }\n.cMagenta { color: #FF12C4; }\n.cPink { color: #FF83E0; }\n.cPale { color: #DDD8C8; text-shadow: -0.08rem 0.08rem #000; }\n.cWhite { color: #E6EBF0; text-shadow: -0.08rem 0.08rem #000; }\n.cSilver { color: #BBBBE3; text-shadow: -0.08rem 0.08rem #000; }\n.cGray { color: #a6a6a6; text-shadow: -0.08rem 0.08rem #000; }\n.cBlack { color: #000; text-shadow: -0.08rem 0.08rem #fff; }\n\n/* Statbox Colors */\n.ink { color: #545E67; background-color: #fff; border: 1px solid #545E67;}\n.pot { color: #8c0070; background-color: #ffe390; border: 1px solid #ce9f45; text-shadow: 1px 1px 3px #ff7f7f; }\n.vit { color: #036a00; background-color: #9FFBD8; border: 1px solid #0b8a2b; }\n.stretch { color: #6a2800; background-color: #FBFA9F; border: 1px solid #8a290b; }\n.arm { color: #040100; background-color: #FBC69F; border: 1px solid #8a0b0b; }\n.str { color: #7b0000; background-color: #FFC5B8; border: 1px solid #841414; }\n.fin { color: #307700; background-color: #DEFFCF; border: 1px solid #398a0b; }\n.perc { color: #100082; background-color: #E8F1FF; border: 1px solid #150b8a; }\n.will { color: #3f006a; background-color: #E39FFB; border: 1px solid #680b8a; }\n.whim { color: #54ffe7; background-color: #FF6BE8C9; border: 1px solid #f07; }\n.san { color: #fff; background-color: #543866; border: 1px solid #fff; }\n.invisnk { color: #545E6700; border: 1px solid #545E6700; text-shadow: 1px 1px 3px #EB00FF00 !important; }\n.mut { color: #7b002e; background-color: #FF9BCA; border: 1px solid #7b002e; }\n\n.uncommon { color: #41AC04; border: 1px solid #41AC04; background-color: #fff; }\n.rare { color: #3853E3; border: 1px solid #3853E3; background-color: #fff; }\n.epic { color: #7916BD; border: 1px solid #7916BD; background-color: #fff; }\n.leg { color: #FF670C; border: 1px solid #FF670C; background-color: #fff; }\n.arti { color: #E6A200; border: 1px solid #E6A200; background-color: #fff; }\n\n/* ============================================ */\n/* Animation */\n\n.donsairPen { min-height: 20px; width: 300px; margin-left: 50%; }\n\n.donsBreathe, .donsHappy, .donsAngy, .donsDance, .donsJiggle, .donsBounce, .donsStretch, .donsWeeOo, .donsSeethe {\n\tanimation-iteration-count: infinite; }\n\n.donsBreathe {\n\tposition: relative; z-index: 1; animation-name: animBreathe;\n\tanimation-duration: 7s; }\n\n@keyframes animBreathe {\n 0% {top: 0rem; width: 233px; height: 180px;}\n 30% {top: -0.4rem; width: 250px; height: 175px;}\n 35% {top: -0.4rem; width: 250px; height: 175px;}\n 65% {top: 1.5rem; width: 215px; height: 182px;}\n 90% {top: 0rem; width: 233px; height: 180px;}\n 100% {top: 0rem; width: 233px; height: 180px;}\n}\n\n.donsHappy { position: relative; z-index: 1; animation-name: animHappy;\n\tanimation-duration: 3s; }\n\n@keyframes animHappy {\n 0% {top: 0rem; rotate: 0deg; width: 233px; height: 180px;}\n 15% {top: -2rem; rotate: 15deg; width: 215px; height: 195px;}\n 25% {top: -2.5rem; rotate: -10deg; width: 233px; height: 180px;}\n 35% {top: 1rem; rotate: -8deg; width: 320px; height: 130px;}\n 50% {top: 0rem; rotate: 0deg; width: 233px; height: 180px;}\n 100% {top: 0rem; rotate: 0deg; width: 233px; height: 180px;}\n}\n\n.donsAngy { position: relative; z-index: 1; animation-name: animAngy;\n\tanimation-duration: 5s; }\n\n@keyframes animAngy {\n 0% {left: 0rem; rotate: 0deg;}\n 3% {left: 2rem; rotate: 0deg;}\n 5% {left: -2rem; rotate: 2deg;}\n 7% {left: 4rem; rotate: 3deg;}\n 10% {left: -4rem; rotate: 5deg;}\n 15% {left: 6rem; rotate: 15deg;}\n 20% {left: 6rem; rotate: 15deg;}\n 30% {left: 0rem; rotate: -10deg;}\n 50% {left: 0rem; rotate: 0deg;}\n}\n\n.donsDance { position: relative; z-index: 1; animation-name: animDance;\n\tanimation-duration: 1.5s; }\n\n@keyframes animDance {\n 0% {top: 0rem; rotate: 0deg; width: 233px; height: 215px;}\n 25% {top: -0.4rem; rotate: 15deg; width: 275px; height: 165px;}\n 50% {top: 0rem; rotate: 0deg; width: 200px; height: 215px;}\n 75% {top: 1.5rem; rotate: -10deg; width: 275px; height: 165px;}\n 100% {top: 0rem; rotate: 0deg; width: 233px; height: 215px;}\n}\n\n.donsBounce { position: relative; z-index: 1; animation-name: animBounce;\n\tanimation-duration: 1s; }\n\n@keyframes animBounce {\n 0% {top: 0rem; width: 233px; height: 180px;}\n 20% {top: -4rem; width: 190px; height: 220px;}\n 40% {top: 5rem; width: 295px; height: 125px;}\n 60% {top: 0rem; width: 233px; height: 180px;}\n 100% {top: 0rem; width: 233px; height: 180px;}\n}\n\n.donsJiggle {\n\tposition: relative; z-index: 1; animation-name: animJiggle;\n\tanimation-duration: 1.8s; }\n\n@keyframes animJiggle {\n 0% {top: 0rem; width: 233px; height: 180px;}\n 15% {top: 2rem; width: 295px; height: 145px;}\n 25% {top: -2rem; width: 200px; height: 220px;}\n 40% {top: 1rem; width: 275px; height: 165px;}\n 50% {top: -1rem; width: 220px; height: 200px;}\n 60% {top: 1rem; width: 245px; height: 175px;}\n 75% {top: -0.3rem; width: 225px; height: 190px;}\n 100% {top: 0rem; width: 233px; height: 180px;}\n}\n\n.donsStretch {\n\tposition: relative; z-index: 1; animation-name: animStretch;\n\tanimation-duration: 2s; }\n\n@keyframes animStretch {\n 0% {top: 0rem; width: 233px; height: 180px;}\n 50% {top: 8rem; width: 400px; height: 65px;}\n 60% {top: -2rem; width: 180px; height: 250px;}\n 70% {top: 1rem; width: 260px; height: 160px;}\n 100% {top: 0rem; width: 233px; height: 180px;}\n}\n\n.donsWeeOo {\n\tposition: relative; z-index: 1; animation-name: animWeeOo;\n\tanimation-duration: 1.8s; }\n\n@keyframes animWeeOo {\n 0% {top: 0rem; rotate: 0deg; width: 233px; height: 180px;}\n 20% {top: 8rem; rotate: 60deg; width: 400px; height: 65px;}\n 40% {top: -2rem; rotate: 120deg; width: 130px; height: 250px;}\n 60% {top: 6rem; rotate: 180deg; width: 280px; height: 100px;}\n 80% {top: -1rem; rotate: 240deg; width: 180px; height: 200px;}\n 100% {top: 0rem; rotate: 360deg; width: 233px; height: 180px;}\n}\n\n.donsSeethe { position: relative; z-index: 1; animation-name: animSeethe;\n\tanimation-duration: 0.65s; }\n\n@keyframes animSeethe {\n 0% {left: 0rem; width: 233px; height: 180px;}\n 15% {left: 1rem; width: 250px; height: 175px;}\n 30% {left: -1rem; width: 250px; height: 175px;}\n 45% {left: 2rem; width: 250px; height: 175px;}\n 60% {left: -2rem; width: 215px; height: 182px;}\n 85% {left: 3rem; width: 215px; height: 182px;}\n 100% {left: 0rem; width: 233px; height: 180px;}\n}\n
<<include EDX-GeneDB>>\n<<include EDX-DonsairSetup>>\n/% updated the donsair generation passages to use a general object variable, then transfer that data to whatever external variable it's needed in\n\nFor now, this is generating Revec*ai; later we'll break specifics down by species %/\n\n/% Stats %/\n<<set $EDXDonsair.maxVit = either(8,10,12,15,18,20,25,30)>>\n<<set $EDXDonsair.vit = $EDXDonsair.maxVit>>\n<<set $EDXDonsair.gain = either(1,1,1,1,1,1,2,3)>>\n<<set $EDXDonsair.stretch = either(1.2,1.3,1.5,1.8,2,2.2)>>\n<<set $EDXDonsair.stockX = either(0.8,1,1,1,1.2,1.2,1.5,1.8,2)>>\n\n\t<<set $EDXDonsair.bType = $EDXDons.bType.random();>>\n\t<<set $EDXDonsair.chest = random(2,24)>>\n\t<<set $EDXDonsair.belly = random(32,128)>>\n\t<<set $EDXDonsair.body = random(64,300)>>\n\t<<set $EDXDonsair.limbs = random(2,36)>>\n\t<<set $EDXDonsair.thigh = random(2,48)>>\n\t<<set $EDXDonsair.tail = random(2,72)>>\n\n<<set _stretchBase = ($EDXDonsair.chest + $EDXDonsair.belly + $EDXDonsair.body + $EDXDonsair.tail + $EDXDonsair.thigh)>>\n<<set $EDXDonsair.maxBloat = ((_stretchBase * $EDXDonsair.stretch) * 0.05).toFixed()>>\n\n\t<<set $EDXDonsair.arm = random(2,8)>>\n\t<<set $EDXDonsair.str = random(8,28)>>\n\t<<set $EDXDonsair.will = random(14,32)>>\n\t<<set $EDXDonsair.fin = random(6,32)>>\n\t<<set $EDXDonsair.perc = random(8,24)>>\n\t<<set $EDXDonsair.whim = random(14,24)>>\n\t<<set $EDXDonsair.san = random(0,8)>>\n\n/% Genetics %/\n<<set $EDXDonsair.eggType = "Revec*ai Eggs">>\n<<set $EDXDonsair.milkType = either("Revec*ai Milk","Revec*ai Milk","Viviere Milk")>>\n<<set $EDXDonsair.venomType = "Standard Miratoxin">>\n<<set $EDXDonsair.clutchRate = 1>>\n<<set $EDXDonsair.milkRate = 1; $EDXDonsair.milkfat = random(1,4)>>\n<<set $EDXDonsair.venomRate = 1>>\n\n/% Colors %/\n\t<<set $EDXDonsair.baseColor = either("R","Y","B") + either("R","Y","B")>>\n\t<<set $EDXDonsair.baseDilute = either("D","d") + either("D","d")>>\n\t<<set $EDXDonsair.bellyColor = either("br","by","bb") + either("br","by","bb")>>\n\t<<set $EDXDonsair.bellyDilute = either("bD","bd") + either("bD","bd")>>\n\t<<set $EDXDonsair.compColor = either("cr","cy","cb") + either("cr","cy","cb")>>\n\t<<set $EDXDonsair.compDilute = either("cD","cd") + either("cD","cd")>>\n\t<<set $EDXDonsair.markColor = either("mr","my","mb") + either("mr","my","mb")>>\n\t<<set $EDXDonsair.markDilute = either("mD","md") + either("mD","md")>>\n\t<<set $EDXDonsair.patPres = either("L","l") + either("L","l")>>\n\t<<set $EDXDonsair.whiteSpot = either("W","w","ws","wg") + either("W","w","ws","wg")>>\n\t<<set $EDXDonsair.Grey = either("G+","G","g") + either("G+","G","g")>>\n\t<<set $EDXDonsair.Freckle = either("Fr","fr") + either("Fr","fr")>>\n\t<<set $EDXDonsair.Gradient = either("Gr","gr") + either("Gr","gr")>>\n\t<<set $EDXDonsair.Filigree = either("F","f") + either("F","f")>>\n\t<<set $EDXDonsair.Harlequin = either("H","h") + either("H","h")>>\n\t<<set $EDXDonsair.Stripe = either("T+","T","t") + either("T+","T","t")>>\n\t<<set $EDXDonsair.Ink = either("In","in") + either("In","in")>>\n\t<<set _anomCheck = random(1,3)>>\n\t\t<<if _anomCheck eq 1>><<set $EDXDonsair.Anomaly = either("Somatic","Pastiche","Chimera","Pennant")>>\n\t\t<<else>><<set $EDXDonsair.Anomaly = "N/A">><<endif>>\n\n/% Phenotype %/\n<<set _earPool = $EDXGenebank.Ear>>\n<<set $EDXDonsair.phnEar = _earPool.random() + _earPool.random()>>\n<<set _eyePool = $EDXGenebank.Eye>>\n<<set $EDXDonsair.phnEye = _eyePool.random() + _eyePool.random()>>\n<<set _pupilPool = $EDXGenebank.Pupil>>\n<<set $EDXDonsair.phnPupil = _pupilPool.random() + _pupilPool.random()>>\n<<set _snootPool = $EDXGenebank.Snoot>>\n<<set $EDXDonsair.phnSnoot = _snootPool.random() + _snootPool.random()>>\n\n\t<<set _headPool = $EDXGenebank.Head>>\n\t<<set $EDXDonsair.phnHeadDeco = _headPool.random() + _headPool.random()>>\n\t<<set _bienPool = $EDXGenebank.Rierbien>>\n\t<<set $EDXDonsair.phnRbien = _bienPool.random() + _bienPool.random()>>\n\t<<set _teethPool = $EDXGenebank.Teeth>>\n\t<<set $EDXDonsair.phnTeeth = _teethPool.random() + _teethPool.random()>>\n\n<<set _pawPool = $EDXGenebank.Paw>>\n<<set $EDXDonsair.phnPaw = _pawPool.random() + _pawPool.random()>>\n<<set _limbPool = $EDXGenebank.Limb>>\n<<set $EDXDonsair.phnLimb = _limbPool.random() + _limbPool.random()>>\n<<set _beanPool = $EDXGenebank.Bean>>\n<<set $EDXDonsair.phnBean = _beanPool.random() + _beanPool.random()>>\n<<set _scalePool = $EDXGenebank.Skin>>\n<<set $EDXDonsair.phnScale = _scalePool.random() + _scalePool.random()>>\n<<set _bellyPool = $EDXGenebank.Belly>>\n<<set $EDXDonsair.phnBelly = _bellyPool.random() + _bellyPool.random()>>\n\n\t<<set _spinePool = $EDXGenebank.Spine>>\n\t<<set $EDXDonsair.phnSpine = _spinePool.random() + _spinePool.random()>>\n\t<<set _tailPool = $EDXGenebank.Tail>>\n\t<<set $EDXDonsair.phnTail = _tailPool.random() + _tailPool.random()>>\n\t/% Modified to adjust wing rarity %/\n\t<<set _wingPool = ["WNx","WNx","WNx","WNx","WNx","WNf","WNw","WNp","WNi","WNe","WNb"]>>\n\t<<set $EDXDonsair.phnWing = _wingPool.random() + _wingPool.random()>>\n\t<<set _themePool = $EDXGenebank.Theme>>\n\t<<set $EDXDonsair.phnTheme = _themePool.random() + _themePool.random()>>\n\n/% Mutations + TF %/\n<<set _mutCheck = random(1,3)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("ovian"); $EDXDonsair.mutOvian = 1>><<endif>>\n<<set _mutCheck = random(1,4)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("viviere"); $EDXDonsair.mutViviere = 1>><<endif>>\n<<set _mutCheck = random(1,4)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("adiposa"); $EDXDonsair.mutAdiposa = 1>><<endif>>\n<<set _mutCheck = random(1,6)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("slime"); $EDXDonsair.mutSlime = 1>><<endif>>\n<<set _mutCheck = random(1,6)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("pudding"); $EDXDonsair.mutPudding = 1>><<endif>>\n<<set _mutCheck = random(1,6)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("plushie"); $EDXDonsair.mutPlushie = 1>><<endif>>\n<<set _mutCheck = random(1,6)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("confection"); $EDXDonsair.mutConfection = 1>><<endif>>\n<<set _mutCheck = random(1,8)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("epicurean"); $EDXDonsair.mutEpicurean = 1>><<endif>>\n<<set _mutCheck = random(1,10)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("greenhouse"); $EDXDonsair.mutGreenhouse = 1>><<endif>>\n<<set _mutCheck = random(1,12)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("evian"); $EDXDonsair.mutEvian = 1>><<endif>>\n<<set _mutCheck = random(1,12)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("honeypot"); $EDXDonsair.mutHoneypot = 1>><<endif>>\n<<set _mutCheck = random(1,12)>>\n\t<<if _mutCheck eq 1>><<set $EDXDonsair.Mutations.push("rosebelly"); $EDXDonsair.mutRosebelly = 1>><<endif>>\n\n\t<<set _tfCheck = random(1,12)>>\n\t\t<<if (_tfCheck eq 1) or (_tfCheck eq 16)>>\n\t\t\t<<set $EDXDonsair.TFs.push("fyynmorph"); $EDXDonsair.tfFyynmorph = random(1,10)>><<endif>>\n\t<<set _tfCheck = random(1,12)>>\n\t\t<<if _tfCheck eq 1>>\n\t\t\t<<set $EDXDonsair.TFs.push("omniphage"); $EDXDonsair.tfOmniphage = random(1,10)>><<endif>>\n\t /% Temporarily disabling these for vecs\n\t<<set _tfCheck = random(1,16)>>\n\t\t<<if _tfCheck eq 1>>\n\t\t\t<<set $EDXDonsair.TFs.push("realization"); $EDXDonsair.tfRealization = random(1,5)>><<endif>>\n\t<<set _tfCheck = random(1,20)>>\n\t\t<<if _tfCheck eq 1>>\n\t\t\t<<set $EDXDonsair.TFs.push("mirlait"); $EDXDonsair.tfMirlait = random(1,35)>><<endif>>\n\t %/\n\n\n\n
<link rel="stylesheet" href="css/w3.css">\n\n<b>EVERDREAM ♦</b> Living Donsair <br>\nDevelopment Edition\n/% this has to be manually typed for now to get the browser tab to name properly, ugh! %/
/% Actions - Happy/Cheerful %/\n<<switch $EDreamDonsair.Action>>\n/% =========={ Greeting %/\n\t<<case "actGreet">>\n\t\t\t\t<<set $EDreamDonsair.Action = either("chirps ","squeaks ") + "hello to you!">>\n\n\n/% =========={ Idling/Autonomous %/\n\t<<case "actIdleLiving">>\n\t\t<<set $EDreamDonsair.Action = either("is having a good time!","seems in bright spirits.","seems in bright spirits.","seems playful!","fell asleep...","autoExplore")>>\n\t\t<<if $EDreamDonsair.Action eq "fell asleep...">><<set $EDreamDonsair.animOverride = "donsBreathe"; $EDreamDonsair.asleep = 1>>\n\t\t<<elseif $EDreamDonsair.Action eq "autoExplore">><<set $EDreamDonsair.animOverride = "donsBounce">>\n\t\t\t<<set $EDreamDonsair.Action = "went off exploring " + $EDreamDonsair.homeRegion + " on " + $EDreamDonsair.pnPos + " own, and returned home with [thing xQt] for you!">>\t\t\t\t\t\n\t\t\t<<endif>>\n\n\n/% =========={ Pet/Groom %/\n\t<<case "actPetted" "actGroomed">>\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","donsDance","donsStretch")>>\n\t\t<<set $EDreamDonsair.Action = either("purrs contentedly...","purrs brightly!","purrs happily!","purrs LOUDLY!","squiggles joyfully under your paw!","leans into your touch!")>>\n\n\n\n/% =========={ Kiss %/\n\t<<case "actKissed">>\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","donsDance","donsStretch")>>\n\t\t<<set $EDreamDonsair.Action = either("squeals in delight!!","squeaks in delight!!","purrs happily!","purrs LOUDLY!","kisses you back!!")>>\n\n\n/% =========={ Calm Down! %/\n\t<<case "actShh">> \n\t\t<<set $EDreamDonsair.Action = either("takes a deep breath and calms " + $EDreamDonsair.pnSelf + " for you...","stops squiggling around.","stops squiggling around, and bleps.")>>\n\n\n\n/% =========={ Explore! %/\n\t<<case "actExplore">>\n\t\t<<set $EDreamDonsair.animOverride = "donsDance">>\n\t\t<<set $EDreamDonsair.Action = "explores " + $EDreamDonsair.homeRegion + " with you!">>\n\t/% Explore result %/<<include EDX-DonsProcessExplore>>\n\n/% =========={ Feed %/\n\t<<case "actFed">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = "donsDance">>\n\t\t<<set $EDreamDonsair.Action = either("gives a little squeak of happy excitement, and eats!","rushes to enjoy its meal!","gives a squeak of gratitude before tucking in!","eats VORACIOUSLY!","inhales its food with little fanfare!")>>\n\t\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ Feed - Weird Foods %/\n\t<<case "actFedWeird">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t<<set $EDreamDonsair.Action = either("pauses for a moment to consider your offering, before... consuming it...","sniffs with hesitation at the food you've brought it, but then eats it after all.","doesn't seem convinced by the food, but finally eats...","gives you a look, then consumes the offering.","doesn't want to eat that..!")>>\n\n\t\t<<if $EDreamDonsair.Action eq "doesn't want to eat that..!">>/% Failed feed attempt %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsAngy">>\n\t\t<<else>><<include EDX-DonsProcessFood>>\n\t\t<<endif>>\n\n\n/% =========={ Feed - Fatiere Pump %/\n\t<<case "actFedPump">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.Action = either("squeaks in surprise as you feed it from the Fatiere Pump!","squiggles on the pump, its cheeks puffing full!","gulps the slurry down as quickly as it can manage!","squirms at first, but settles into placidly drinking from the hose...","closes its eyes, drinking quietly...")>>\n\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ Feed - Beverages %/\n\t<<case "actFedDrink">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsDance")>>\n\t\t<<set $EDreamDonsair.Action = either("enjoys the drink!","laps contentedly at the beverage.","agreeably gulps down the drink!","drinks eagerly, sighing in refreshed satisfaction.")>>\n\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ No Directive %/\n\t\t<<default>>\n\t\t\t\t<<set $EDreamDonsair.Action = either("seems to be relaxing...","looks calm.","squeaks at you!","makes little noises to " + $EDreamDonsair.pnSelf + ".")>>\n\n<</switch>>
/% ==========={ Explore by Alpha }================ %/\n<<set _alphaSbmt = $EDXCommon.scenario.first()>>\n\n<<switch _alphaSbmt>>\n\t<<case "A">><<include EDX-SubmitA>>\n\t<<case "G">><<include EDX-SubmitG>>\n\t<<case "O">><<include EDX-SubmitO>>\n\t<<case "Z">><<include EDX-SubmitZ>>\n<</switch>>\n\n
/% If breeding not already in process, load progens %/\n<<if !$EDreamLiveDons.activeBreed>>\n\t<<set $EDXProgen1 = $EDreamDonsDNA>>\n\t\t<<set $EDXProgen1.Name = $EDreamDonsair.Name; $EDXProgen1.Species = $EDreamDonsair.Species>>\n\t/% Process Progenitor 2's data into a temporary reference donsair %/\n\t<<include EDX-SerialToProgen>>\n\n/% Set flag for future reloads %/<<set $EDreamLiveDons.activeBreed = 1>>\n<<endif>>\n\n/% ======================================== %/<div class="contentframe">\n/% Applet Title %/ \n\t<div class="w3-row-padding" style="margin-bottom: -1.2rem;">\n\t\t<h6><b>EVERDREAM <span class="cMagenta">♦</span></b> Living Donsair</h6>\n\t</div>\n\n<div class="w3-row-padding">\n/% ======================================== %/\n/% Generation Results (Preview?) %/ \n\t<div class="w3-row-padding" style="margin-bottom: -1.2rem;">\n\n/% Pairing Info "Title Bar" %/ \n\t<center><div class="w3-row-padding cardtitle"><h4>\n\t\t\tBreeding Result: <br>\n\t\t\t<b><<print $EDXProgen1.Name>></b> <sub>x</sub> <b><<print $EDXProgen2.Name>></b>\n\t</h4></div></center>\n\n/% reroll gueggies until the page is navigated away from %/\n\n/% -------------- Two-Column Split Start %/\n<div class="w3-row-padding" style="display: flex; min-height: 350px;">\n/% ------------------------------ %/\n/% Left Column %/ <div class="w3-half w3-container paddedcard fcolumn">\n\n\t/% Testing PH %/\n\t\t<p><b>Offspring #1</b><center>\n\t\t\t<div class="serial"><<include EDX-DonsProcessBreed>></div></center></p>\n\t/% -----end testing ph %/\n\n\t/% Testing PH %/\n\t\t<p><b>Offspring #3</b><center>\n\t\t\t<div class="serial"><<include EDX-DonsProcessBreed>></div></center></p>\n\t/% -----end testing ph %/\n\n\t/% Testing PH %/\n\t\t<p><b>Offspring #5</b><center>\n\t\t\t<div class="serial"><<include EDX-DonsProcessBreed>></div></center></p>\n\t/% -----end testing ph %/\n\n\n\t</div>\n/% ------------------------------ %/\n/% Right Column %/ <div class="w3-half w3-container paddedcard fcolumn">\n\n\t/% Testing PH %/\n\t\t<p><b>Offspring #2</b><center>\n\t\t\t<div class="serial"><<include EDX-DonsProcessBreed>></div></center></p>\n\t/% -----end testing ph %/\n\n\t/% Testing PH %/\n\t\t<p><b>Offspring #4</b><center>\n\t\t\t<div class="serial"><<include EDX-DonsProcessBreed>></div></center></p>\n\t/% -----end testing ph %/\n\n\t/% Testing PH %/\n\t\t<p><b>Offspring #6</b><center>\n\t\t\t<div class="serial"><<include EDX-DonsProcessBreed>></div></center></p>\n\t/% -----end testing ph %/\n\n\n\t</div>\n</div>/% End Columns %/\n/% ------------------------------ %/</div>\n/% ======================================== %/\n/% Menu Bar %/ <div class="w3-row-padding hMenu">\n<h4 class="titleMini">Menu</h4><center>\n\n\t<<button "Roll New Offspring" "DonsairBreed">><<set $EDreamLiveDons.menuMode = "">><</button>>\n\t<<button "Finish Breeding" "DonsairMain">><<set $EDreamLiveDons.menuMode = ""; $EDreamLiveDons.activeBreed = 0>><</button>>\n\n</center></div>\n/% ======================================== %/\n/% Horizontal Footer %/ <div class="w3-row-padding">\n\t</div>\n</div>
/% Serialization Display %/\n<<include EDX-SerializeDonsairPlugin>>\n\n\t<b style="margin-left:.5rem;">DNA Sample</b><center>\n\t<div class="serial"><<print $EDXDonsSerial.output>></div></center>
/% ==========={ Dynamic Header }================ %/\n<<include Header>><div class="pFrame"><h5 class="mindent passTitle"><b><<print $EDXCommon.dynHeaderA>></b> <span class="cMagenta">♦</span> <<print $EDXCommon.dynHeaderB>> <span class="cMagenta">♦</span> <<print $EDXCommon.dynHeaderC>>\n</h5>/% ==========={ Encounter Scenario Loops }================ %/\n<<switch $EDXCommon.scenario>>\n/% ==========={ Garden Tendrilvine %/\n\t<<case "GardenVine">><div class="indent"><<set $EDXCommon.scenResult = either("blimped","burst","lethalBurst","rescued"); _glut = random(250,500)>>\n\t\t\t<p>You shiver and relax into the tendrilvine's steadily-tightening embrace, grasping feebly at it as it focuses on the only thing it can-- \n\t\t\tcontinuing to engorge you with as much sap as your bloating, creaking belly can hold...<br> and <i>perhaps even a bit more than that.</i></p>\n\t\t<<if $EDXCommon.scenResult eq "rescued">><<set _who = either("fleur","fleur","fleur","halduron")>>\n\t\t\t<p>You find yourself snapping awake with a start as you collapse onto the ground with a rough <i>thud</i>-- and then, you realize you aren't alone.</p>\n\t\t\t<<if _who eq "halduron">><p>You notice the arrow that's apparently cut the rosevine in half before embedding itself in a nearby tree.<br> \n\t\t\t\tFrom there, it only takes a moment to trace its path to the Farstrider rushing to meet you.</p>\n\t\t\t\t<p>"You have to be careful; this garden is much more dangerous than you realize," notes <b>Halduron Brightwing</b> with no small amount of concern for you.<br>\n\t\t\t\tHe pauses, then, appraising your sap-bloated gut. "...or am I interrupting something? You seem to have fallen asleep in that vine's clutches."</p>\n\t\t\t\t<p>You hope you aren't actually blushing as hard as you think; your cheeks are incredibly warm.</p>\n\t\t\t\t<br><p>Halduron gives you a careful once-over, then walks you back towards the Villa entrance-- being kind enough not to comment further on your current state.</p><p>For now.</p>\n\t\t\t\t/% Stat Change %/<center><p><div class="announce"><b>Stockpile +<<print _glut>><br>Bloat +Max<br>Belly +<<print random(3,12)>>!</b></div></p></center>\n\t\t\t\t\n\t\t\t<<else>><p>"Oh, my. <i>Are you alright?!</i><br> \n\t\t\t\tYou must be careful with the rosevines out here... they've killed more than their share of creatures!</p> \n\t\t\t\t<p>"It's how they get nutrients, you know; they love to <b>grab anything they can catch and inflate them to bursting</b> over their roots, \n\t\t\t\tso they can soak up the blood."</p><p>You are astonished by the casual tone and easy expression with which <b>General Dreamscar</b> confers this grim information to you.<br>\n\t\t\t\tThe elf helps you to your feet, making sure you're relatively unscathed before turning you loose into the gardens again.</p>\n\t\t\t\t<br><p><i>...and they <b>happily live with these things out here?</b></i></p>\n\t\t\t\t/% Stat Change %/<center><p><div class="announce"><b>Stockpile +<<print _glut>><br>Bloat +Max<br>Belly +<<print random(6,16)>>!</b></div></p></center>\n\t\t\t<<endif>>\n\t\t<<elseif $EDXCommon.scenResult eq "blimped">>\n\t\t\t<p>You find yourself snapping awake with a start as you collapse onto the ground with a rough <i>thud</i>.<br>\n\t\t\tIt seems your vine friend happily inflated you to within an inch of your life-- and its ability to hold you, too.</p>\n\t\t\t<br><p>Your <b>sap-bloated</b> gut jostles and quakes as you unsteadily wobble to your feet, heavily staggering away before it decides to try for a second round...</p>\n\t\t\t/% Stat Change %/<center><p><div class="announce"><b>Stockpile +<<print (_glut + random(35,200))>><br>Bloat +Max<br>Belly +<<print random(6,24)>>!</b></div></p></center>\n\n\t\t<<else>> /% Burst/Lethal Burst %/\n\t\t\t<p>You've lost track of time and your senses, and before you know it, your hideously-distended gut lets out <b>one last, ominous groan.</b></p>\n\t\t\t<p>With a wet, reverberating pop, it <b>bursts-- spewing sap and bloody gore onto the ground beneath your feet!</b></p>\n\t\t\t<br><p>Your vision fills with stars as you scream, your voice failing as everything <b>mercifully fades to black...</b></p>\n\t\t\t<<if $EDXCommon.scenResult eq "burst">>/% Stat Change %/<center><p><div class="announce"><b>Stockpile +<<print (_glut + random(75,250))>><br>Bloat +Max<br>Belly +<<print random(4,18)>>!</b></div></p></center><<endif>>\n\t\t<<endif>>\n\n<</switch>>\n/% ================ %/\n</div>/% ==========={ Loop Navigation }================ %/<div class="mindent">\n<<switch $EDXCommon.scenario>>\n\t<<case "GardenVine">>\n\t\t<<if $EDXCommon.scenResult eq "burst">>\n\t\t\t<b><span class="cMagenta">♦</span></b><span class="tLink"><a id="navW" data-passage="THLUpperGardens00">(W)ake up..?</a></span><br>\n\t\t\t<div class="cosmeeText"><b><span class="cMagenta">♦</span></b><a id="navC" class="cLink" data-passage="ExploreDBGardens">(C)osmetoire Override (Pull yourself together, and Continue)</a></div>\n\t\t<<elseif $EDXCommon.scenResult eq "lethalBurst">>\n\t\t\t<b><span class="cMagenta">♦</span></b><span class="dLink"><a id="navS" data-passage="THLDBOuterGardens00">(S)lip your ruined shard... (NYI, continue)</a></span><br>\n\t\t\t<div class="cosmeeText"><b><span class="cMagenta">♦</span></b><a id="navC" class="cLink" data-passage="ExploreDBGardens">(C)osmetoire Override (Refuse Death and Continue)</a></div>\n\t\t\t<div class="cosmeeText"><b><span class="cMagenta">♦</span></b><a id="navO" class="cLink" data-passage="passage()">C(o)smetoire Override (Retry)</a></div>\n\t\t<<else>><b><span class="cMagenta">♦</span></b><span class="tLink"><a id="navC" data-passage="ExploreDBGardens">(C)ontinue, sheepishly</a></span><br>\n\t\t<<endif>>\n\n\n/% ========== %/\n<</switch>>\n\n/% ---------------- %/\n</div>
/% TEMPORARY - Later, these will be run on a per-species/subspecies basis %/\n<<include EDX-DonsCommon>>\n\n<<set $EDreamDonsair.Name = $EDXNames.Vec.random();>>\n<<set $EDreamDonsair.Species = "Revec*ai"; $EDreamDonsair.Subspec = ""; $EDreamDonsair.Subtype = "">>\n\n/% Image setup %/\n\t<<set $EDreamDonsair.img = $EDreamLiveDons.specImages.random();>>\n\n/% Personality setup %/\n<<set $EDreamDonsair.baseMood = $EDXDons.baseMood.random();>>\n\n\t<<if $EDreamDonsair.baseMood eq "angry">><<set $EDreamDonsair.Trust = random(0,6)>>\n\t<<elseif $EDreamDonsair.baseMood eq "grumpy">><<set $EDreamDonsair.Trust = random(6,17)>>\n\t<<else>><<set $EDreamDonsair.Trust = 100>>/% Only relevant for potentially aggressive donsair %/<<endif>>\n\n/% Body Type setup %/\n<<set $EDreamDonsDNA.bType = $EDXDons.bType.random();>>\n\t<<set $EDreamDonsair.bType = $EDreamDonsDNA.bType>>\n\n/% Self-Concept %/\n<<set $EDreamDonsInput.Self = $EDXCommon.Selfs.random();>>\n<<set $EDreamDonsair.Self = $EDreamDonsInput.Self>>\n\t<<switch $EDreamDonsair.Self>>\n\t\t<<case "they/them">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "they"; $EDreamDonsair.pnRef2 = "them"; $EDreamDonsair.pnPos = "their"; $EDreamDonsair.pnSelf = "themself">>\n\t\t<<case "she/her">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "she"; $EDreamDonsair.pnRef2 = "her"; $EDreamDonsair.pnPos = "her"; $EDreamDonsair.pnSelf = "herself">>\n\t\t<<case "he/him">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "he"; $EDreamDonsair.pnRef2 = "him"; $EDreamDonsair.pnPos = "his"; $EDreamDonsair.pnSelf = "himself">>\n\t\t<<case "jei/jem">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "jei"; $EDreamDonsair.pnRef2 = "jem"; $EDreamDonsair.pnPos = "jeir"; $EDreamDonsair.pnSelf = "jemself">>\n\t\t<<default>>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "it"; $EDreamDonsair.pnRef2 = "it"; $EDreamDonsair.pnPos = "its"; $EDreamDonsair.pnSelf = "itself">>\n\t<</switch>>\n\n/% Region %/\n<<set $EDreamDonsair.homeRegion = $EDXDons.Regions.random();>>\n\n/% Stats %/\n<<set $EDreamDonsair.maxVit = either(8,10,12,15,18,20,25,30)>>\n<<set $EDreamDonsair.vit = $EDreamDonsair.maxVit>>\n<<set $EDreamDonsair.gain = either(1,1,1,1,1,1,2,3)>>\n<<set $EDreamDonsair.stretch = either(1.2,1.3,1.5,1.8,2,2.2)>>\n<<set $EDreamDonsair.stockX = either(0.8,1,1,1,1.2,1.2,1.5,1.8,2)>>\n\n<<set $EDreamDonsair.chest = random(2,24)>>\n<<set $EDreamDonsair.belly = random(32,128)>>\n<<set $EDreamDonsair.body = random(64,300)>>\n<<set $EDreamDonsair.limbs = random(2,36)>>\n<<set $EDreamDonsair.thigh = random(2,48)>>\n<<set $EDreamDonsair.tail = random(2,72)>>\n\n<<set _stretchBase = ($EDreamDonsair.chest + $EDreamDonsair.belly + $EDreamDonsair.body + $EDreamDonsair.tail + $EDreamDonsair.thigh)>>\n<<set $EDreamDonsair.maxBloat = ((_stretchBase * $EDreamDonsair.stretch) * 0.05).toFixed()>>\n\n<<set $EDreamDonsair.arm = random(2,8)>>\n<<set $EDreamDonsair.str = random(8,28)>>\n<<set $EDreamDonsair.will = random(14,32)>>\n<<set $EDreamDonsair.fin = random(6,32)>>\n<<set $EDreamDonsair.perc = random(8,24)>>\n<<set $EDreamDonsair.whim = random(14,24)>>\n<<set $EDreamDonsair.san = random(0,8)>>\n\n/% Genetics %/\n<<set $EDreamDonsDNA.maxVit = $EDreamDonsair.maxVit>>\n<<set $EDreamDonsDNA.vit = $EDreamDonsair.maxVit>>\n<<set $EDreamDonsDNA.gain = $EDreamDonsair.gain>>\n<<set $EDreamDonsDNA.stretch = $EDreamDonsair.stretch>>\n<<set $EDreamDonsDNA.stockX = $EDreamDonsair.stockX>>\n\n<<set $EDreamDonsDNA.chest = $EDreamDonsair.chest>>\n<<set $EDreamDonsDNA.belly = $EDreamDonsair.belly>>\n<<set $EDreamDonsDNA.body = $EDreamDonsair.body>>\n<<set $EDreamDonsDNA.limbs = $EDreamDonsair.limbs>>\n<<set $EDreamDonsDNA.thigh = $EDreamDonsair.thigh>>\n<<set $EDreamDonsDNA.tail = $EDreamDonsair.tail>>\n\n<<set $EDreamDonsDNA.arm = $EDreamDonsair.arm>>\n<<set $EDreamDonsDNA.str = $EDreamDonsair.str>>\n<<set $EDreamDonsDNA.will = $EDreamDonsair.will>>\n<<set $EDreamDonsDNA.fin = $EDreamDonsair.fin>>\n<<set $EDreamDonsDNA.perc = $EDreamDonsair.perc>>\n<<set $EDreamDonsDNA.whim = $EDreamDonsair.whim>>\n<<set $EDreamDonsDNA.san = $EDreamDonsair.san>>\n\n<<set $EDreamDonsDNA.eggType = "Revec*ai Eggs">>\n<<set $EDreamDonsDNA.milkType = either("Revec*ai Milk","Revec*ai Milk","Viviere Milk")>>\n<<set $EDreamDonsDNA.venomType = "Standard Miratoxin">>\n<<set $EDreamDonsDNA.clutchRate = 1>>\n<<set $EDreamDonsDNA.milkRate = 1; $EDreamDonsDNA.milkfat = random(1,4)>>\n<<set $EDreamDonsDNA.venomRate = 1>>\n\n<<include EDX-DonsGenerateColors>>\n<<include EDX-DonsGeneratePhenotype>>\n\n/% Mutations %/\n\n<<set _mutCheck = random(1,3)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutOvian = 1>><<endif>>\n\n<<set _mutCheck = random(1,4)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutViviere = 1>><<endif>>\n\n<<set _mutCheck = random(1,4)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutAdiposa = 1>><<endif>>\n\n<<set _mutCheck = random(1,6)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutSlime = 1>><<endif>>\n\n<<set _mutCheck = random(1,6)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutPudding = 1>><<endif>>\n\n<<set _mutCheck = random(1,6)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutPlushie = 1>><<endif>>\n\n<<set _mutCheck = random(1,6)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutConfection = 1>><<endif>>\n\n<<set _mutCheck = random(1,8)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutEpicurean = 1>><<endif>>\n\n<<set _mutCheck = random(1,10)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutGreenhouse = 1>><<endif>>\n\n<<set _mutCheck = random(1,12)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutEvian = 1>><<endif>>\n\n<<set _mutCheck = random(1,12)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutHoneypot = 1>><<endif>>\n\n<<set _mutCheck = random(1,12)>>\n\t<<if _mutCheck eq 1>><<set $EDreamDonsDNA.mutRosebelly = 1>><<endif>>\n\n\n/% TFs %/\n\n<<set _tfCheck = random(1,12)>>\n\t<<if (_tfCheck eq 1) or (_tfCheck eq 16)>>\n\t\t<<set $EDreamDonsDNA.TFs.push("fyynmorph"); $EDreamDonsDNA.tfFyynmorph = random(1,10)>><<endif>>\n\n<<set _tfCheck = random(1,12)>>\n\t<<if _tfCheck eq 1>>\n\t\t<<set $EDreamDonsDNA.TFs.push("omniphage"); $EDreamDonsDNA.tfOmniphage = random(1,10)>><<endif>>\n\n /% Temporarily disabling these for vecs\n<<set _tfCheck = random(1,16)>>\n\t<<if _tfCheck eq 1>>\n\t\t<<set $EDreamDonsDNA.TFs.push("realization"); $EDreamDonsDNA.tfRealization = random(1,5)>><<endif>>\n\n<<set _tfCheck = random(1,20)>>\n\t<<if _tfCheck eq 1>>\n\t\t<<set $EDreamDonsDNA.TFs.push("mirlait"); $EDreamDonsDNA.tfMirlait = random(1,35)>><<endif>>\n%/\n\n<<include EDX-ProcessMutations>>\n\n\n/% Finish; Unflag Input mode %/\n<<set $EDreamLiveDons.Mode = "">>\n\n
/%<<if $EDreamLiveDons.Fed neq "">>\nLast fed: <<print $EDreamLiveDons.Fed>><br>\nStock: <<print $EDreamDonsair.stock>>\n<<endif>>\n\nCurrent name: <<print $EDreamDonsair.Name>><br>\nStored Rename: <<print $EDreamDonsInput.pendRename>>\n\n%/\n\n<<for _m to 0; _m < $EDreamDonsDNA.Mutations.length; _m++>><<print $EDreamDonsDNA.Mutations[_m]>><</for>>\n\n<<for _tf to 0; _tf < $EDreamDonsDNA.TFs.length; _tf++>><<print $EDreamDonsDNA.TFs[_tf]>><</for>>\n
/% Actions - Playful/Bouncy/Energetic %/\n<<switch $EDreamDonsair.Action>>\n/% =========={ Greeting %/\n\t<<case "actGreet">>\n\t\t<<set $EDreamDonsair.Action = either("chirps hello to you~!","squeaks hello to you~!","is SO happy to see you..!!")>>\n\n\n/% =========={ Idling/Autonomous %/\n\t<<case "actIdleLiving">>\n\t\t<<set $EDreamDonsair.Action = either("is having a good time!","seems in bright spirits.","seems in bright spirits.","seems playful!","fell asleep...","autoExplore")>>\n\t\t<<if $EDreamDonsair.Action eq "fell asleep...">><<set $EDreamDonsair.animOverride = "donsBreathe"; $EDreamDonsair.asleep = 1>>\n\t\t<<elseif $EDreamDonsair.Action eq "autoExplore">><<set $EDreamDonsair.animOverride = "donsBounce">>\n\t\t\t<<set $EDreamDonsair.Action = "went off exploring " + $EDreamDonsair.homeRegion + " on " + $EDreamDonsair.pnPos + " own, and returned home with [thing xQt] for you!">>\t\t\t\t\t\n\t\t\t<<endif>>\n\n\n/% =========={ Pet/Groom %/\n\t<<case "actPetted" "actGroomed">>\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","donsDance","donsStretch")>>\n\t\t<<set $EDreamDonsair.Action = either("purrs contentedly...","purrs brightly!","purrs happily!","purrs LOUDLY!","squiggles joyfully under your paw!","leans into your touch!")>>\n\n\n\n/% =========={ Kiss %/\n\t<<case "actKissed">>\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","donsDance","donsStretch")>>\n\t\t<<set $EDreamDonsair.Action = either("squeals in delight!!","squeaks in delight!!","purrs happily!","purrs LOUDLY!","kisses you back!!")>>\n\n\n/% =========={ Calm Down! %/\n\t<<case "actShh">>\n\t\t<<set $EDreamDonsair.Action = either("takes a deep breath and calms " + $EDreamDonsair.pnSelf + " for you...","stops squiggling around.","stops squiggling around, and bleps.")>>\n\n\n\n/% =========={ Explore! %/\n\t<<case "actExplore">>\n\t\t<<set $EDreamDonsair.animOverride = "donsDance">>\n\t\t<<set $EDreamDonsair.Action = "explores " + $EDreamDonsair.homeRegion + " with you!">>\n\t/% Explore result %/<<include EDX-DonsProcessExplore>>\n\n/% =========={ Feed %/\n\t<<case "actFed">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = "donsDance">>\n\t\t<<set $EDreamDonsair.Action = either("gives a little squeak of happy excitement, and eats!","rushes to enjoy its meal!","gives a squeak of gratitude before tucking in!","eats VORACIOUSLY!","inhales its food with little fanfare!")>>\n\t\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ Feed - Weird Foods %/\n\t<<case "actFedWeird">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t<<set $EDreamDonsair.Action = either("pauses for a moment to consider your offering, before... consuming it...","sniffs with hesitation at the food you've brought it, but then eats it after all.","doesn't seem convinced by the food, but finally eats...","gives you a look, then consumes the offering.","doesn't want to eat that..!")>>\n\n\t\t<<if $EDreamDonsair.Action eq "doesn't want to eat that..!">>/% Failed feed attempt %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsAngy">>\n\t\t<<else>> <<include EDX-DonsProcessFood>>\n\t\t<<endif>>\n\n\n/% =========={ Feed - Fatiere Pump %/\n\t<<case "actFedPump">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.Action = either("squeaks in surprise as you feed it from the Fatiere Pump!","squiggles on the pump, its cheeks puffing full!","gulps the slurry down as quickly as it can manage!","squirms at first, but settles into placidly drinking from the hose...","closes its eyes, drinking quietly...")>>\n\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ Feed - Beverages %/\n\t<<case "actFedDrink">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsDance")>>\n\t\t<<set $EDreamDonsair.Action = either("enjoys the drink!","laps contentedly at the beverage.","agreeably gulps down the drink!","drinks eagerly, sighing in refreshed satisfaction.")>>\n\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ No Directive %/\n\t\t<<default>>\n\t\t\t\t<<set $EDreamDonsair.Action = either("seems to be relaxing...","looks calm.","squeaks at you!","makes little noises to " + $EDreamDonsair.pnSelf + ".")>>\n\n<</switch>>
<<include EDX-GeneDB>>\n<<set $math = $EDXDonsairClean; $splice = $EDXDonsairClean>>\n<<set $math.Mutations = []; $math.TFs = []>>\n/% Read the progenitors, break down their genes into pools, \nthen select and output the results %/\n\n/% Numeric Processes %/ <<include EDX-BreedMath>> \n/% Genetic Processes %/<<include EDX-BreedStrings>> \n\n/% Object Setup %/\n<<set $EDXOffspring = $math>>\n\n<<set $EDXOffspring.Species = $splice.Species>>\n<<set $EDXOffspring.Subspec = $splice.Subspec>>\n<<set $EDXOffspring.Subtype = $splice.Subtype>>\n<<set $EDXOffspring.baseMood = $splice.baseMood>>\n<<set $EDXOffspring.img = $splice.img>>\n<<set $EDXOffspring.bType = $splice.bType>>\n<<set $EDXOffspring.eggType = $splice.eggType>>\n<<set $EDXOffspring.milkType = $splice.milkType>>\n<<set $EDXOffspring.venomType = $splice.venomType>>\n\n<<set $EDXOffspring.baseColor = $splice.baseColor>>\n<<set $EDXOffspring.baseDilute = $splice.baseDilute>>\n<<set $EDXOffspring.bellyColor = $splice.bellyColor>>\n<<set $EDXOffspring.bellyDilute = $splice.bellyDilute>>\n<<set $EDXOffspring.compColor = $splice.compColor>>\n<<set $EDXOffspring.compDilute = $splice.compDilute>>\n<<set $EDXOffspring.markColor = $splice.markColor>>\n<<set $EDXOffspring.markDilute = $splice.markDilute>>\n<<set $EDXOffspring.patPres = $splice.patPres>>\n<<set $EDXOffspring.whiteSpot = $splice.whiteSpot>>\n<<set $EDXOffspring.Grey = $splice.Grey>>\n<<set $EDXOffspring.Freckle = $splice.Freckle>>\n<<set $EDXOffspring.Gradient = $splice.Gradient>>\n<<set $EDXOffspring.Filigree = $splice.Filigree>>\n<<set $EDXOffspring.Harlequin = $splice.Harlequin>>\n<<set $EDXOffspring.Stripe = $splice.Stripe>>\n<<set $EDXOffspring.Ink = $splice.Ink>>\n<<set $EDXOffspring.Anomaly = $splice.Anomaly>>\n\n<<set $EDXOffspring.phnEar = $splice.phnEar>>\n<<set $EDXOffspring.phnSnoot = $splice.phnSnoot>>\n<<set $EDXOffspring.phnEye = $splice.phnEye>>\n<<set $EDXOffspring.phnPupil = $splice.phnPupil>>\n<<set $EDXOffspring.phnHeadDeco = $splice.phnHeadDeco>>\n<<set $EDXOffspring.phnRbien = $splice.phnRbien>>\n<<set $EDXOffspring.phnTeeth = $splice.phnTeeth>>\n<<set $EDXOffspring.phnPaw = $splice.phnPaw>>\n<<set $EDXOffspring.phnLimb = $splice.phnLimb>>\n<<set $EDXOffspring.phnBean = $splice.phnBean>>\n<<set $EDXOffspring.phnScale = $splice.phnScale>>\n<<set $EDXOffspring.phnBelly = $splice.phnBelly>>\n<<set $EDXOffspring.phnSpine = $splice.phnSpine>>\n<<set $EDXOffspring.phnTail = $splice.phnTail>>\n<<set $EDXOffspring.phnWing = $splice.phnWing>>\n<<set $EDXOffspring.phnTheme = $splice.phnTheme>>\n\n/% Serialize and print %/\n<<set $EDXDonsair = $EDXOffspring>>\n<<include EDX-SerializeDonsairPlugin>>\n<<set $EDXOffspring.output = $EDXDonsSerial.output>>\n\n<<print $EDXOffspring.output>>
/% TEMPORARY - Later, these will be run on a per-species/subspecies basis %/\n<<include EDX-DonsCommon>>\n\n<<set $EDreamDonsair.Name = $EDXNames.Vec.random();>>\n<<set $EDreamDonsair.Species = "Revec*ai"; $EDreamDonsair.Subspec = ""; $EDreamDonsair.Subtype = "">>\n\n/% Image setup %/\n\t<<set $EDreamDonsair.img = $EDreamLiveDons.specImages.random();>>\n\n/% Personality setup %/\n<<set $EDreamDonsair.baseMood = $EDXDons.baseMood.random();>>\n\n\t<<if $EDreamDonsair.baseMood eq "angry">><<set $EDreamDonsair.Trust = random(0,6)>>\n\t<<elseif $EDreamDonsair.baseMood eq "grumpy">><<set $EDreamDonsair.Trust = random(6,17)>>\n\t<<else>><<set $EDreamDonsair.Trust = 100>>/% Only relevant for potentially aggressive donsair %/<<endif>>\n\n/% Self-Concept %/\n<<set $EDreamDonsInput.Self = $EDXCommon.Selfs.random();>>\n<<set $EDreamDonsair.Self = $EDreamDonsInput.Self>>\n\t<<switch $EDreamDonsair.Self>>\n\t\t<<case "they/them">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "they"; $EDreamDonsair.pnRef2 = "them"; $EDreamDonsair.pnPos = "their"; $EDreamDonsair.pnSelf = "themself">>\n\t\t<<case "she/her">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "she"; $EDreamDonsair.pnRef2 = "her"; $EDreamDonsair.pnPos = "her"; $EDreamDonsair.pnSelf = "herself">>\n\t\t<<case "he/him">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "he"; $EDreamDonsair.pnRef2 = "him"; $EDreamDonsair.pnPos = "his"; $EDreamDonsair.pnSelf = "himself">>\n\t\t<<case "jei/jem">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "jei"; $EDreamDonsair.pnRef2 = "jem"; $EDreamDonsair.pnPos = "jeir"; $EDreamDonsair.pnSelf = "jemself">>\n\t\t<<default>>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "it"; $EDreamDonsair.pnRef2 = "it"; $EDreamDonsair.pnPos = "its"; $EDreamDonsair.pnSelf = "itself">>\n\t<</switch>>\n\n/% Region %/\n<<set $EDreamDonsair.homeRegion = $EDXDons.Regions.random();>>\n\n/% General Object DNA Generation %/\n<<include EDX-GenDonsairAgn>>\n\n/% Body Type setup %/\n\t<<set $EDreamDonsair.bType = $EDXDonsair.bType>>\n\n/% Stats %/\n<<set $EDreamDonsair.maxVit = either(8,10,12,15,18,20,25,30)>>\n<<set $EDreamDonsair.vit = $EDreamDonsair.maxVit>>\n<<set $EDXDonsair.vit = $EDreamDonsair.maxVit>>\n<<set $EDreamDonsair.gain = either(1,1,1,1,1,1,2,3)>>\n<<set $EDreamDonsair.stretch = either(1.2,1.3,1.5,1.8,2,2.2)>>\n<<set $EDreamDonsair.stockX = either(0.8,1,1,1,1.2,1.2,1.5,1.8,2)>>\n\n<<set $EDreamDonsair.chest = $EDXDonsair.chest>>\n<<set $EDreamDonsair.belly = $EDXDonsair.belly>>\n<<set $EDreamDonsair.body = $EDXDonsair.body>>\n<<set $EDreamDonsair.limbs = $EDXDonsair.limbs>>\n<<set $EDreamDonsair.thigh = $EDXDonsair.thigh>>\n<<set $EDreamDonsair.tail = $EDXDonsair.tail>>\n\n<<set _stretchBase = ($EDreamDonsair.chest + $EDreamDonsair.belly + $EDreamDonsair.body + $EDreamDonsair.tail + $EDreamDonsair.thigh)>>\n<<set $EDreamDonsair.maxBloat = ((_stretchBase * $EDreamDonsair.stretch) * 0.05).toFixed()>>\n\n<<set $EDreamDonsair.arm = $EDXDonsair.arm>>\n<<set $EDreamDonsair.str = $EDXDonsair.str>>\n<<set $EDreamDonsair.will = $EDXDonsair.will>>\n<<set $EDreamDonsair.fin = $EDXDonsair.fin>>\n<<set $EDreamDonsair.perc = $EDXDonsair.perc>>\n<<set $EDreamDonsair.whim = $EDXDonsair.whim>>\n<<set $EDreamDonsair.san = $EDXDonsair.san>>\n\n/% Genetics %/\n<<set $EDreamDonsDNA = $EDXDonsair>>\n\n<<include EDX-DonsProcessMutations>>\n\n/% Finish; Unflag Input mode %/\n<<set $EDreamLiveDons.Mode = "">>\n\n
/% ======================================== %/\n/% Stat updates %/ \n\t<<if $EDreamLiveDons.statRefresh>><<set $EDreamLiveDons.timeTick = 6>><<include EDX-TrackerProcessStats>>\t\n\t\t<<set $EDreamLiveDons.statRefresh = 0>><<endif>>\n\n/% Mood animations %/ <<set $EDreamDonsair.Anim = "donsBreathe">>\n\n/% ======================================== %/\n/% Pop-Up Menus %/\n\n<<if $EDreamLiveDons.menuMode neq "">><<include DonsairMenus>><<endif>>\n\n/% ======================================== %/\n<div class="contentframe">\n/% Applet Title %/ \n\t<div class="w3-row-padding" style="margin-bottom: -1.2rem;">\n\t\t<h6><b>EVERDREAM <span class="cMagenta">♦</span></b> Living Donsair</h6>\n\t</div>\n\n/% Donsair Info "Title Bar" %/ \n\t<center><div class="w3-row-padding cardtitle">\n\t\t<h4><b><<print $EDreamDonsair.Name>></b> the \n\t\t<<if $EDreamDonsair.Subspec neq "">><<print $EDreamDonsair.Subspec>><</if>> \n\t\t<<print $EDreamDonsair.Species>>\n\t\t</h4>\n\t</div>\n\n\n<div class="w3-row-padding statMode"><b>STAT TRACKER MODE</b>\n\t</div>\n\n</center>\n/% ======================================== %/\n/% Two-Column Split Start %/\n<div class="w3-row-padding" style="display: flex; min-height: 350px;">\n\n/% ------------------------------ %/\n/% Inner Row %/\n<div class="w3-row-padding w3-container paddedcard" style="align-self: center; margin-left: auto; margin-right: auto;"><center>\t\n\t\t\n\t<<print "<img class='" + $EDreamDonsair.Anim + "' src='img/revecai_" + $EDreamDonsair.img + ".png'>">>\t\n\t\t\n</center></div>\n\n</div>/% End Columns %/\n\n/% ======================================== %/\n/% Stats Bar %/ <div class="w3-row-padding wMenu">\n<h4 class="titleMini">Statistics</h4><div class="indent"><center>\n\n<span class="statMod"><center>\n\t<b>[[Vitality|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="vitality"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsair.vit--;">-</button>\n\t<<print $EDreamDonsair.vit>>/<b><<print $EDreamDonsair.maxVit>></b>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsair.vit++;">+</button> \n</center></span>\n\n<span class="statMod"><center>\n\t<b>[[Corpulence|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="corpulence"]]</b><br>\n\t<button class="btnX" data-passage="StatTracker">-</button>\n\t<b><<print $EDreamDonsair.corp.toFixed()>></b>\n\t<button class="btnX" data-passage="StatTracker">+</button>\n</center></span>\n\n<br>\n\n<span class="statMod"><center>\n\t<b>[[Armor|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="armor"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.arm--;">-</button>\n\t <<print $EDreamDonsDNA.arm>>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.arm++;">+</button>\n</center></span>\n\n<span class="statMod"><center>\n\t<b>[[Strength|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="strength"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.str--;">-</button>\n\t <<print $EDreamDonsDNA.str>> \n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.str++;">+</button>\n</center></span>\n\n<span class="statMod"><center>\n<b>[[Will|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="will"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.will--;">-</button>\n\t <<print $EDreamDonsDNA.will>>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.will++;">+</button>\n</center></span>\n\n<span class="statMod"><center>\n<b>[[Finesse|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="finesse"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.fin--;">-</button>\n\t <<print $EDreamDonsDNA.fin>>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.fin++;">+</button>\n</center></span>\n\n<span class="statMod"><center>\n<b>[[Perception|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="perception"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.perc--;">-</button>\n\t <<print $EDreamDonsDNA.perc>>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.perc++;">+</button> \n</center></span>\n\n<span class="statMod"><center>\n<b>[[Whimsy|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="whimsy"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.whim--;">-</button>\n\t <<print $EDreamDonsDNA.whim>>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.whim++;">+</button>\n</center></span>\n \n<span class="statMod"><center>\n<b>[[Sanity|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="sanity"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.san--;">-</button>\n\t <<print $EDreamDonsDNA.san>>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.san++;">+</button>\n</center></span>\n\n</center></div>\n\n</div>\n\n\n/% ======================================== %/\n/% Proportions Bar %/ <div class="w3-row-padding wMenu">\n<h4 class="titleMini">Proportions</h4><div class="indent"><center>\n\n<span class="statMod"><center>\n<b>[[Stock Multiplier|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="stockX"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.stockX -= 0.1;">-</button>\n\t <<print $EDreamDonsDNA.stockX.toFixed(1)>>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.stockX += 0.1;">+</button>\n</center></span>\n \n<span class="statMod"><center>\n<b>[[Gain|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="gain"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.gain--;">-</button>\n\t <<print $EDreamDonsDNA.gain>>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.gain++;">+</button>\n</center></span>\n \n<span class="statMod"><center>\n<b>[[Stretch|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="stretch"]]</b><br> \n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.stretch -= 0.1;">-</button>\n\t <<print $EDreamDonsDNA.stretch.toFixed(1)>>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.stretch += 0.1;">+</button>\n</center></span>\n\n<br>\n \n<span class="statMod"><center>\n<b>[[Caloric Stockpile|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="stockpile"]]</b><br>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsair.stock--;">-</button>\n\t <<print $EDreamDonsair.stock.toFixed(1)>>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsair.stock++;">+</button>\n</center></span>\n\n \n<span class="statMod"><center>\n<b>[[Bloat|passage()][$EDreamLiveDons.menuMode = "statTooltip"; $EDreamLiveDons.tooltip="stretch"]]</b><br> \n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.bloat--;">-</button>\n\t <<print $EDreamDonsair.bloat>>/<b><<print $EDreamDonsair.maxBloat>></b>\n\t<button class="btn" data-passage="StatTracker" data-setter="$EDreamDonsDNA.bloat++;">+</button>\n</center></span>\n\n\n\n</center></div>\n\n</div>\n\n/% ======================================== %/\n/% Genetics Bar %/ <div class="w3-row-padding wMenu">\n<h4 class="titleMini">Genetics</h4>\n\n\n\n\n\n\n\n\n\n\n\n</div>\n\n/% ======================================== %/\n/% Mutations Bar %/ <div class="w3-row-padding wMenu">\n<h4 class="titleMini">Mutations</h4>\n\n\n\n\n\n\n\n\n\n\n\n</div>\n/% ======================================== %/\n/% Menu Bar %/ <div class="w3-row-padding hMenu">\n<h4 class="titleMini">Actions</h4><center>\n\n\t<<button "Process" "StatTracker">><</button>>\n\t<<button "Living Donsair Mode" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamDonsair.Action = "actIdleLiving">><</button>>\n\n</center></div>\n\n\n/% ======================================== %/\n/% Horizontal Footer %/ <div class="w3-row-padding">\n\t</div>\n</div>\n\n/% ======================================== %/\n/% Invisible Processes %/\n\n
/% ============={ Stats %/\n\n<<if $EDXProgen1.vit gt $EDXProgen2.vit>><<set $math.vit = random($EDXProgen2.vit,$EDXProgen1.vit)>>\n<<else>><<set $math.vit = random($EDXProgen1.vit,$EDXProgen2.vit)>><<endif>>\n\t<<set $math.vit = ($math.vit * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.vit lt 0>><<set $math.vit = 0>><<endif>>\n\n<<if $EDXProgen1.arm gt $EDXProgen2.arm>><<set $math.arm = random($EDXProgen2.arm,$EDXProgen1.arm)>>\n<<else>><<set $math.arm = random($EDXProgen1.arm,$EDXProgen2.arm)>><<endif>>\n\t<<set $math.arm = ($math.arm * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.arm lt 0>><<set $math.arm = 0>><<endif>>\n\n<<if $EDXProgen1.str gt $EDXProgen2.str>><<set $math.str = random($EDXProgen2.str,$EDXProgen1.str)>>\n<<else>><<set $math.str = random($EDXProgen1.str,$EDXProgen2.str)>><<endif>>\n\t<<set $math.str = ($math.str * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.str lt 0>><<set $math.str = 0>><<endif>>\n\n<<if $EDXProgen1.will gt $EDXProgen2.will>><<set $math.will = random($EDXProgen2.will,$EDXProgen1.will)>>\n<<else>><<set $math.will = random($EDXProgen1.will,$EDXProgen2.will)>><<endif>>\n\t<<set $math.will = ($math.will * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.will lt 0>><<set $math.will = 0>><<endif>>\n\n<<if $EDXProgen1.fin gt $EDXProgen2.fin>><<set $math.fin = random($EDXProgen2.fin,$EDXProgen1.fin)>>\n<<else>><<set $math.fin = random($EDXProgen1.fin,$EDXProgen2.fin)>><<endif>>\n\t<<set $math.fin = ($math.fin * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.fin lt 0>><<set $math.fin = 0>><<endif>>\n\n<<if $EDXProgen1.perc gt $EDXProgen2.perc>><<set $math.perc = random($EDXProgen2.perc,$EDXProgen1.perc)>>\n<<else>><<set $math.perc = random($EDXProgen1.perc,$EDXProgen2.perc)>><<endif>>\n\t<<set $math.perc = ($math.perc * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.perc lt 0>><<set $math.perc = 0>><<endif>>\n\n<<if $EDXProgen1.whim gt $EDXProgen2.whim>><<set $math.whim = random($EDXProgen2.whim,$EDXProgen1.whim)>>\n<<else>><<set $math.whim = random($EDXProgen1.whim,$EDXProgen2.whim)>><<endif>>\n\t<<set $math.whim = ($math.whim * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.whim lt 0>><<set $math.whim = 0>><<endif>>\n\n<<if $EDXProgen1.san gt $EDXProgen2.san>><<set $math.san = random($EDXProgen2.san,$EDXProgen1.san)>>\n<<else>><<set $math.san = random($EDXProgen1.san,$EDXProgen2.san)>><<endif>>\n\t<<set $math.san = ($math.san * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.san lt 0>><<set $math.san = 0>><<endif>>\n\n/% ============={ Proportions %/\n\n<<if $EDXProgen1.chest gt $EDXProgen2.chest>><<set $math.chest = random($EDXProgen2.chest,$EDXProgen1.chest)>>\n<<else>><<set $math.chest = random($EDXProgen1.chest,$EDXProgen2.chest)>><<endif>>\n\t<<set $math.chest = ($math.chest * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.chest lt 0>><<set $math.chest = 0>><<endif>>\n\n<<if $EDXProgen1.belly gt $EDXProgen2.belly>><<set $math.belly = random($EDXProgen2.belly,$EDXProgen1.belly)>>\n<<else>><<set $math.belly = random($EDXProgen1.belly,$EDXProgen2.belly)>><<endif>>\n\t<<set $math.belly = ($math.belly * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.belly lt 0>><<set $math.belly = 0>><<endif>>\n\n<<if $EDXProgen1.body gt $EDXProgen2.body>><<set $math.body = random($EDXProgen2.body,$EDXProgen1.body)>>\n<<else>><<set $math.body = random($EDXProgen1.body,$EDXProgen2.body)>><<endif>>\n\t<<set $math.body = ($math.body * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.body lt 0>><<set $math.body = 0>><<endif>>\n\n<<if $EDXProgen1.limbs gt $EDXProgen2.limbs>><<set $math.limbs = random($EDXProgen2.limbs,$EDXProgen1.limbs)>>\n<<else>><<set $math.limbs = random($EDXProgen1.limbs,$EDXProgen2.limbs)>><<endif>>\n\t<<set $math.limbs = ($math.limbs * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.limbs lt 0>><<set $math.limbs = 0>><<endif>>\n\n<<if $EDXProgen1.thigh gt $EDXProgen2.thigh>><<set $math.thigh = random($EDXProgen2.thigh,$EDXProgen1.thigh)>>\n<<else>><<set $math.thigh = random($EDXProgen1.thigh,$EDXProgen2.thigh)>><<endif>>\n\t<<set $math.thigh = ($math.thigh * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.thigh lt 0>><<set $math.thigh = 0>><<endif>>\n\n<<if $EDXProgen1.tail gt $EDXProgen2.tail>><<set $math.tail = random($EDXProgen2.tail,$EDXProgen1.tail)>>\n<<else>><<set $math.tail = random($EDXProgen1.tail,$EDXProgen2.tail)>><<endif>>\n\t<<set $math.tail = ($math.tail * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.tail lt 0>><<set $math.tail = 0>><<endif>>\n\n\n/% ============={ Metabolic + Production %/\n\n\n<<if $EDXProgen1.gain gt $EDXProgen2.gain>><<set $math.gain = random($EDXProgen2.gain,$EDXProgen1.gain)>>\n<<else>><<set $math.gain = random($EDXProgen1.gain,$EDXProgen2.gain)>><<endif>>\n\t<<set $math.gain = ($math.gain * either(0.9,1.0,1.1)).toFixed(1)>>\n\t<<if $math.gain lt 0>><<set $math.gain = 0.1>><<endif>>\n\n<<if $EDXProgen1.stretch gt $EDXProgen2.stretch>><<set $math.stretch = random($EDXProgen2.stretch,$EDXProgen1.stretch)>>\n<<else>><<set $math.stretch = random($EDXProgen1.stretch,$EDXProgen2.stretch)>><<endif>>\n\t<<set $math.stretch = ($math.stretch * either(0.9,1.0,1.1)).toFixed(1)>>\n\t<<if $math.stretch lt 0>><<set $math.stretch = 0.1>><<endif>>\n\n<<if $EDXProgen1.stockX gt $EDXProgen2.stockX>><<set $math.stockX = random($EDXProgen2.stockX,$EDXProgen1.stockX)>>\n<<else>><<set $math.stockX = random($EDXProgen1.stockX,$EDXProgen2.stockX)>><<endif>>\n\t<<set $math.stockX = ($math.stockX * either(0.9,1.0,1.1)).toFixed(1)>>\n\t<<if $math.stockX lt 0>><<set $math.stockX = 0.1>><<endif>>\n\n<<if $EDXProgen1.clutchRate gt $EDXProgen2.clutchRate>><<set $math.clutchRate = random($EDXProgen2.clutchRate,$EDXProgen1.clutchRate)>>\n<<else>><<set $math.clutchRate = random($EDXProgen1.clutchRate,$EDXProgen2.clutchRate)>><<endif>>\n\t<<set $math.clutchRate = ($math.clutchRate * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.clutchRate lt 0>><<set $math.clutchRate = 0>><<endif>>\n\n<<if $EDXProgen1.milkRate gt $EDXProgen2.milkRate>><<set $math.milkRate = random($EDXProgen2.milkRate,$EDXProgen1.milkRate)>>\n<<else>><<set $math.milkRate = random($EDXProgen1.milkRate,$EDXProgen2.milkRate)>><<endif>>\n\t<<set $math.milkRate = ($math.milkRate * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.milkRate lt 0>><<set $math.milkRate = 0>><<endif>>\n\n<<if $EDXProgen1.milkfat gt $EDXProgen2.milkfat>><<set $math.milkfat = random($EDXProgen2.milkfat,$EDXProgen1.milkfat)>>\n<<else>><<set $math.milkfat = random($EDXProgen1.milkfat,$EDXProgen2.milkfat)>><<endif>>\n\t<<set $math.milkfat = ($math.milkfat * either(0.9,1.0,1.1)).toFixed(1)>>\n\t<<if $math.milkfat lt 0>><<set $math.milkfat = 0>><<endif>>\n\n<<if $EDXProgen1.venomRate gt $EDXProgen2.venomRate>><<set $math.venomRate = random($EDXProgen2.venomRate,$EDXProgen1.venomRate)>>\n<<else>><<set $math.venomRate = random($EDXProgen1.venomRate,$EDXProgen2.venomRate)>><<endif>>\n\t<<set $math.venomRate = ($math.venomRate * either(0.9,1.0,1.1)).toFixed()>>\n\t<<if $math.venomRate lt 0>><<set $math.venomRate = 0>><<endif>>\n\n\n/% ============={ Mutations + TF %/\n\n<<set $math.mutOvian = either($EDXProgen1.mutOvian,$EDXProgen2.mutOvian)>>\n<<set $math.mutViviere = either($EDXProgen1.mutViviere,$EDXProgen2.mutViviere)>>\n<<set $math.mutAdiposa = either($EDXProgen1.mutAdiposa,$EDXProgen2.mutAdiposa)>>\n<<set $math.mutSlime = either($EDXProgen1.mutSlime,$EDXProgen2.mutSlime)>>\n<<set $math.mutPudding = either($EDXProgen1.mutPudding,$EDXProgen2.mutPudding)>>\n<<set $math.mutPlushie = either($EDXProgen1.mutPlushie,$EDXProgen2.mutPlushie)>>\n<<set $math.mutConfection = either($EDXProgen1.mutConfection,$EDXProgen2.mutConfection)>>\n<<set $math.mutEpicurean = either($EDXProgen1.mutEpicurean,$EDXProgen2.mutEpicurean)>>\n<<set $math.mutGreenhouse = either($EDXProgen1.mutGreenhouse,$EDXProgen2.mutGreenhouse)>>\n<<set $math.mutEvian = either($EDXProgen1.mutEvian,$EDXProgen2.mutEvian)>>\n<<set $math.mutHoneypot = either($EDXProgen1.mutHoneypot,$EDXProgen2.mutHoneypot)>>\n<<set $math.mutRosebelly = either($EDXProgen1.mutRosebelly,$EDXProgen2.mutRosebelly)>>\n\n\t<<if $math.mutOvian eq 1>><<set $math.Mutations.push("ovian")>><<endif>>\n\t<<if $math.mutViviere eq 1>><<set $math.Mutations.push("viviere")>><<endif>>\n\t<<if $math.mutAdiposa eq 1>><<set $math.Mutations.push("adiposa")>><<endif>>\n\t<<if $math.mutSlime eq 1>><<set $math.Mutations.push("slime")>><<endif>>\n\t<<if $math.mutPudding eq 1>><<set $math.Mutations.push("pudding")>><<endif>>\n\t<<if $math.mutPlushie eq 1>><<set $math.Mutations.push("plushie")>><<endif>>\n\t<<if $math.mutConfection eq 1>><<set $math.Mutations.push("confection")>><<endif>>\n\t<<if $math.mutEpicurean eq 1>><<set $math.Mutations.push("epicurean")>><<endif>>\n\t<<if $math.mutGreenhouse eq 1>><<set $math.Mutations.push("greenhouse")>><<endif>>\n\t<<if $math.mutEvian eq 1>><<set $math.Mutations.push("evian")>><<endif>>\n\t<<if $math.mutHoneypot eq 1>><<set $math.Mutations.push("honeypot")>><<endif>>\n\t<<if $math.mutRosebelly eq 1>><<set $math.Mutations.push("rosebelly")>><<endif>>\n\n<<if $EDXProgen1.tfFyynmorph gt $EDXProgen2.tfFyynmorph>><<set $math.tfFyynmorph = random(0,$EDXProgen1.tfFyynmorph)>>\n<<else>><<set $math.tfFyynmorph = random(0,$EDXProgen2.tfFyynmorph)>><<endif>>\n\t<<if $math.tfFyynmorph lt 0>><<set $math.tfFyynmorph = 0>>\n\t<<else>><<set $math.TFs.push("fyynmorph")>><<endif>>\n\n<<if $EDXProgen1.tfOmniphage gt $EDXProgen2.tfOmniphage>><<set $math.tfOmniphage = random(0,$EDXProgen1.tfOmniphage)>>\n<<else>><<set $math.tfOmniphage = random(0,$EDXProgen2.tfOmniphage)>><<endif>>\n\t<<if $math.tfOmniphage lt 0>><<set $math.tfOmniphage = 0>>\n\t<<else>><<set $math.TFs.push("omniphage")>><<endif>>\n\n<<if $EDXProgen1.tfRealization gt $EDXProgen2.tfRealization>><<set $math.tfRealization = random(0,$EDXProgen1.tfRealization)>>\n<<else>><<set $math.tfRealization = random(0,$EDXProgen2.tfRealization)>><<endif>>\n\t<<if $math.tfRealization lt 0>><<set $math.tfRealization = 0>>\n\t<<else>><<set $math.TFs.push("realization")>><<endif>>\n\n<<if $EDXProgen1.tfMirlait gt $EDXProgen2.tfMirlait>><<set $math.tfMirlait = random(0,$EDXProgen1.tfMirlait)>>\n<<else>><<set $math.tfMirlait = random(0,$EDXProgen2.tfMirlait)>><<endif>>\n\t<<if $math.tfMirlait lt 0>><<set $math.tfMirlait = 0>>\n\t<<else>><<set $math.TFs.push("mirlait")>><<endif>>\n\n\n/% Debug %/\n/%\n<span>Vitality: <<print $math.vit>> </span>\n<span>Armor: <<print $math.arm>> </span>\n<span>Strength: <<print $math.str>></span>\n<span>Will: <<print $math.will>></span>\n<span>Finesse: <<print $math.fin>></span>\n<span>Perception: <<print $math.perc>></span>\n\n<br>\n\n<span>Whimsy: <<print $math.whim>></span>\n<span>Sanity: <<print $math.san>></span>\n\n<br>\n\n<span>Chest: <<print $math.chest>> </span>\n<span>Belly: <<print $math.belly>> </span>\n<span>Body: <<print $math.body>> </span>\n<span>Limbs: <<print $math.limbs>> </span>\n<span>Thigh: <<print $math.thigh>> </span>\n<span>Tail: <<print $math.tail>> </span>\n\n<br>\n\n<span>Gain: <<print $math.gain>> </span>\n<span>Stretch: <<print $math.stretch>> </span>\n<span>StockX: <<print $math.stockX>> </span>\n<span>Clutch Rate: <<print $math.clutchRate>> </span>\n<span>Milk Rate: <<print $math.milkRate>> </span>\n<span>Milkfat: <<print $math.milkfat>> </span>\n<span>Venom Rate: <<print $math.venomRate>> </span>\n\n<br> \n\n<span>Ovian: <<print $math.mutOvian>> </span>\n<span>Viviere: <<print $math.mutViviere>> </span>\n<span>Adiposa: <<print $math.mutAdiposa>> </span>\n<span>Slime: <<print $math.mutSlime>> </span>\n<span>Pudding: <<print $math.mutPudding>> </span>\n<span>Plushie: <<print $math.mutPlushie>> </span>\n<span>Confection: <<print $math.mutConfection>> </span>\n<span>Epicurean: <<print $math.mutEpicurean>> </span>\n<span>Greenhouse: <<print $math.mutGreenhouse>> </span>\n<span>Evian: <<print $math.mutEvian>> </span>\n<span>Honeypot: <<print $math.mutHoneypot>> </span>\n<span>Rosebelly: <<print $math.mutRosebelly>> </span>\n\n<br>\n\n%/
<center><<include EDX-SerializeDonsairTemp>>\n\n<div class="gene"><b>Vitality</b><br> <<print $EDXDonsair.maxVit>></div>\n<div class="gene"><b>Armor</b><br> <<print $EDXDonsair.arm>></div>\n<div class="gene"><b>Strength</b><br> <<print $EDXDonsair.str>></div>\n<div class="gene"><b>Will</b><br> <<print $EDXDonsair.will>></div>\n<div class="gene"><b>Finesse</b><br> <<print $EDXDonsair.fin>></div>\n<div class="gene"><b>Perception</b><br> <<print $EDXDonsair.perc>></div>\n<div class="gene"><b>Whimsy</b><br> <<print $EDXDonsair.whim>></div>\n<div class="gene"><b>Sanity</b><br> <<print $EDXDonsair.san>></div>\n\n<br>\n\n<div class="gene"><b>Body Type</b><br> \n<<if $EDXDonsair.bType neq "">><<print $EDXDonsair.bType>><<else>>Unremarkable<<endif>></div>\n<div class="gene"><b>Stretch</b><br> <<print $EDXDonsair.stretch>></div>\n<div class="gene"><b>Stock x</b><br> <<print $EDXDonsair.stockX>></div>\n<div class="gene"><b>Gain</b><br> <<print $EDXDonsair.gain>></div>\n\n<br>\n\n<<if $EDXDonsair.chest gt 0>>\n<div class="gene"><b>Chest</b><br> <<print $EDXDonsair.chest>></div><<endif>>\n\n<<if $EDXDonsair.belly gt 0>>\n<div class="gene"><b>Belly</b><br> <<print $EDXDonsair.belly>></div><<endif>>\n\n<<if $EDXDonsair.body gt 0>>\n<div class="gene"><b>Body</b><br> <<print $EDXDonsair.body>></div><<endif>>\n\n<<if $EDXDonsair.limbs gt 0>>\n<div class="gene"><b>Arms</b><br> <<print $EDXDonsair.limbs>></div><<endif>>\n\n<<if $EDXDonsair.thigh gt 0>>\n<div class="gene"><b>Thighs</b><br> <<print $EDXDonsair.thigh>></div><<endif>>\n\n<<if $EDXDonsair.tail gt 0>>\n<div class="gene"><b>Tail</b><br> <<print $EDXDonsair.tail>></div><<endif>>\n\n<br>\n\n<<if $EDXDonsair.eggType neq "">>\n<div class="gene"><b>Egg Type</b><br> <<print $EDXDonsair.eggType>></div>\n<div class="gene"><b>Clutch Rate</b><br> <<print $EDXDonsair.clutchRate>></div><<endif>>\n\n<<if $EDXDonsair.milkType neq "">>\n<div class="gene"><b>Milk Type</b><br> <<print $EDXDonsair.milkType>></div>\n<div class="gene"><b>Milk Rate</b><br> <<print $EDXDonsair.milkRate>></div>\n<div class="gene"><b>Milkfat</b><br> <<print $EDXDonsair.milkfat>></div><<endif>>\n\n<<if $EDXDonsair.venomType neq "">>\n<div class="gene"><b>Venom Type</b><br> <<print $EDXDonsair.venomType>></div>\n<div class="gene"><b>Venom Rate</b><br> <<print $EDXDonsair.venomRate>></div><<endif>>\n\n<br>\n\n<div class="gene"><b>Base Color</b><br> <<print $EDXDonsair.baseColor>></div>\n<div class="gene"><b>Base Dilute</b><br> <<print $EDXDonsair.baseDilute>></div>\n<div class="gene"><b>Belly Color</b><br> <<print $EDXDonsair.bellyColor>></div>\n<div class="gene"><b>Belly Dilute</b><br> <<print $EDXDonsair.bellyDilute>></div>\n\n/% "Accent Color" because "Complimentary" is too long and fucks things up %/\n<div class="gene"><b>Accent Color</b><br> <<print $EDXDonsair.compColor>></div>\n<div class="gene"><b>Accent Dilute</b><br> <<print $EDXDonsair.compDilute>></div>\n<div class="gene"><b>Marking Color</b><br> <<print $EDXDonsair.markColor>></div>\n<div class="gene"><b>Marking Dilute</b><br> <<print $EDXDonsair.markDilute>></div>\n\n<div class="gene"><b>Pattern Presence</b><br> <<print $EDXDonsair.patPres>></div>\n<div class="gene"><b>White Spotting</b><br> <<print $EDXDonsair.whiteSpot>></div>\n<div class="gene"><b>Grey</b><br> <<print $EDXDonsair.Grey>></div>\n<div class="gene"><b>Freckle</b><br> <<print $EDXDonsair.Freckle>></div>\n<div class="gene"><b>Gradient</b><br> <<print $EDXDonsair.Gradient>></div>\n<div class="gene"><b>Filigree</b><br> <<print $EDXDonsair.Filigree>></div>\n<div class="gene"><b>Harlequin</b><br> <<print $EDXDonsair.Harlequin>></div>\n<div class="gene"><b>Stripes</b><br> <<print $EDXDonsair.Stripe>></div>\n<div class="gene"><b>Ink</b><br> <<print $EDXDonsair.Ink>></div>\n<div class="gene"><b>Anomaly</b><br> <<print $EDXDonsair.Anomaly>></div>\n\n/% Linebreak if there are any mutations to display %/\n<<if $EDXDonsair.Mutations.length gt 0>><br><<endif>>\n\n<<if $EDXDonsair.Mutations.includes("viviere")>><div class="gene mut"><b>Viviere</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("ovian")>><div class="gene mut"><b>Ovian</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("slime")>><div class="gene mut"><b>Slime</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("pudding")>><div class="gene mut"><b>Pudding</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("balloon")>><div class="gene mut"><b>Balloon</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("plushie")>><div class="gene mut"><b>Plushie</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("adiposa")>><div class="gene mut"><b>Adiposa</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("confection")>><div class="gene mut"><b>Confection</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("epicurean")>><div class="gene mut"><b>Epicurean</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("evian")>><div class="gene mut"><b>Evian</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("honeypot")>><div class="gene mut"><b>Honeypot</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("greenhouse")>><div class="gene mut"><b>Greenhouse</b></div><<endif>>\n<<if $EDXDonsair.Mutations.includes("rosebelly")>><div class="gene mut"><b>Rosebelly</b></div><<endif>>\n\n/% Linebreak if there are any TFs to display %/\n<<if $EDXDonsair.TFs.length gt 0>><br><<endif>>\n\n<<if $EDXDonsair.TFs.includes("realization")>>\n\t<div class="gene whim"><b>Realization</b><br> <<print $EDXDonsair.tfRealization>>/5</div><<endif>>\n\n<<if $EDXDonsair.TFs.includes("mirlait")>>\n\t<div class="gene whim"><b>Mirlait</b><br> <<print $EDXDonsair.tfMirlait>>/35</div><<endif>>\n\n<<if $EDXDonsair.TFs.includes("fyynmorph")>>\n\t<div class="gene whim"><b>Fyynmorph</b><br> <<print $EDXDonsair.tfFyynmorph>>/10</div><<endif>>\n\n<<if $EDXDonsair.TFs.includes("omniphage")>>\n\t<div class="gene whim"><b>Omniphage</b><br> <<print $EDXDonsair.tfOmniphage>>/10</div><<endif>>\n\n/% Serialization Display %/\n</center><br>\n\t<b style="margin-left:.5rem;">DNA Sample</b><center>\n\t<div class="serial"> \n\t\t<<print $EDXDonsSerial.output>></div></center>\n
/% Todo; come up with a method to rebuild these from scratch based on all of the Donsair's traits whenever it needs updating %/\n\n/% Mutations + Hybrids %/\n\t<<if ($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutBalloon)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Foam">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Foam" + " " + $EDreamDonsair.Subtype>><<endif>>\t\t\n\n\t<<elseif ($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutOvian)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Broodslime">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Broodslime" + " " + $EDreamDonsair.Subtype>><<endif>>\t\t\t\t\n\n\t<<elseif ($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutPudding)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Pudding">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Pudding" + " " + $EDreamDonsair.Subtype>><<endif>>\t\t\t\n\n\t<<elseif ($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutConfection)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = either("Candy Slime","Gummi Slime","Sugar Slime")>>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = either("Candy Slime","Gummi Slime","Sugar Slime") + " " + $EDreamDonsair.Subtype>><<endif>>\t\t\n\n\t<<elseif ($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutPlushie)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = either("Slime Plushie","Floam")>>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = either("Slime Plushie","Floam") + " " + $EDreamDonsair.Subtype>><<endif>>\t\t\t\n\n\t<<elseif ($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutEpicurean)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Aspic">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Aspic" + " " + $EDreamDonsair.Subtype>><<endif>>\t\t\n\n\t<<elseif ($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutEvian)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Dough">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Dough" + " " + $EDreamDonsair.Subtype>><<endif>>\t\t\n\n\t<<elseif ($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutHoneypot)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Honey Slime">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Honey Slime" + " " + $EDreamDonsair.Subtype>><<endif>>\t\t\n\n\t<<elseif (($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutAdiposa)) or (($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutViviere))>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Creme">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Creme" + " " + $EDreamDonsair.Subtype>><<endif>>\t\t\n\n\t<<elseif ($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutGreenhouse)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Greenhouse Slime">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Greenhouse Slime" + " " + $EDreamDonsair.Subtype>><<endif>>\t\n\n\t<<elseif ($EDreamDonsDNA.mutSlime) and ($EDreamDonsDNA.mutRosebelly)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Rosegarden Slime">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Rosegarden Slime" + " " + $EDreamDonsair.Subtype>><<endif>>\t\n\n\t<<elseif $EDreamDonsDNA.mutSlime>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Slime">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Slime" + " " + $EDreamDonsair.Subtype>><<endif>>\n\n\t<<elseif $EDreamDonsDNA.mutPudding>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Pudding">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Pudding" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutAdiposa) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Adiposa">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Adiposa" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutViviere) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Viviere">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Viviere" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutPlushie) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Plushie">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Plushie" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutConfection) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Confection">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Confection" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutHoneypot) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Honeypot">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Honeypot" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutBalloon) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Balloon">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Balloon" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutOvian) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Ovian">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Ovian" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutEvian) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Evian">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Evian" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutEpicurean) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Epicurean">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Epicurean" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutRosebelly) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Rosebelly">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Rosebelly" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.mutGreenhouse) and (!$EDreamDonsDNA.mutSlime)>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Greenhouse">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Greenhouse" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\n\n/% TFs %/\n\t/% Todo; Pseudovec or Revec*ai depending on species base %/\n\t/% The Subtype checks WILL need cleaning up later, I'm sure; keep an eye out for dumb bugs %/\n\t<<if ($EDreamDonsDNA.tfRealization gte 5) and ($EDreamDonsDNA.tfMirlait lt 35) and (!$EDreamDonsair.Subtype.includes("Pseudovec"))>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Pseudovec">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Pseudovec" + " " + $EDreamDonsair.Subtype>><<endif>>\n\n\t<<elseif ($EDreamDonsDNA.tfRealization gte 3) and ($EDreamDonsDNA.tfRealization lt 5) and (!$EDreamDonsair.Subtype.includes("Mutant"))>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Mutant">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Mutant" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.tfFyynmorph gte 10) and (!$EDreamDonsair.Subtype.includes("Fyynmorphic Horror"))>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Bloated Fyynmorphic Horror">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Bloated Fyynmorphic Horror" + " " + $EDreamDonsair.Subtype>><<endif>>\n\n\t<<elseif ($EDreamDonsDNA.tfFyynmorph gte 8) and ($EDreamDonsDNA.tfFyynmorph lt 10) and (!$EDreamDonsair.Subtype.includes("Fyynmorphic Horror"))>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Fyynmorphic Horror">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Fyynmorphic Horror" + " " + $EDreamDonsair.Subtype>><<endif>>\t\t\n\n\t<<elseif ($EDreamDonsDNA.tfFyynmorph gte 5) and ($EDreamDonsDNA.tfFyynmorph lt 10) and (!$EDreamDonsair.Subtype.includes("Fyynmorphic"))>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Fyynmorphic">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Fyynmorphic" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.tfMirlait gte 35) and ($EDreamDonsDNA.tfRealization lt 5) and (!$EDreamDonsair.Subtype.includes("Mirlait"))>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Mirlait">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Mirlait" + " " + $EDreamDonsair.Subtype>><<endif>>\n\n\t<<elseif ($EDreamDonsDNA.tfMirlait gte 15) and ($EDreamDonsDNA.tfMirlait lt 35) and (!$EDreamDonsair.Subtype.includes("Mutant"))>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Mutant">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Mutant" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\t<<if ($EDreamDonsDNA.tfOmniphage gte 10) and (!$EDreamDonsair.Subtype.includes("Omniphage"))>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Omniphage">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Omniphage" + " " + $EDreamDonsair.Subtype>><<endif>>\n\n\t<<elseif ($EDreamDonsDNA.tfOmniphage gte 5) and ($EDreamDonsDNA.tfOmniphage lt 10) and (!$EDreamDonsair.Subtype.includes("Mutant"))>>\n\t\t\t<<if $EDreamDonsair.Subtype eq "">><<set $EDreamDonsair.Subtype = "Mutant">>\n\t\t\t<<else>><<set $EDreamDonsair.Subtype = "Mutant" + " " + $EDreamDonsair.Subtype>><<endif>>\n\t<<endif>>\n\n\n
Config.history.controls = false;\nConfig.history.maxStates = 1;\n\nConfig.macros.maxLoopIterations = 2000;\n\nConfig.passages.nobr = true;\n\nConfig.ui.stowBarInitially = true;\n\nConfig.saves.autoload = false;\n\nConfig.saves.id = "ED-LDonsair-Gueggy";\n\n\n// Autosaves on passages tagged with "doAutosave"\nConfig.saves.autosave = ["doAutosave"]; \n\n// Transition shit; DO NOT REMOVE THIS OR THE TRANSITION CSS!\nConfig.passages.transitionOut = 5;
<<set $EDXCommon = {\n\treturnPassage: "",\n\tdynHeaderA: "", dynHeaderB: "", dynHeaderC: "",\t\n\tcounter: 0, spawned: "", scenario: "", scenResult: "",\n\n\tSelfs: ["none/neuter","they/them","she/her","he/him","jei/jem"],\n\n\tcolorAny: ["white","pale","pink","red","orange","cream","tan","brown","golden","yellow","olive","lime","green","teal","sky blue","blue","indigo","lavender","violet","magenta","silver","gray","black"],\n\t\tcolorBright: ["white","yellow","pink","red","orange","lime","teal","sky blue","blue","violet","magenta"],\n\t\tcolorPastel: ["white","pale","pink","red","orange","cream","yellow","tan","lime","teal","sky blue","lavender","silver"],\n\t\tcolorCreme: ["white","pale","yellow","pink","red","orange","golden","brown","tan","lime","teal","sky blue","blue","violet","magenta"],\n\t\tcolorFurry: ["white","white","pink","pink","red","red","orange","orange","orange","cream","cream","tan","brown","golden","teal","sky blue","blue","indigo","lavender","violet","magenta","silver","silver","silver","gray","black"],\n\n\tscentAny: ["","acrid","smoky","musty","peppery","spicy","sweet","tangy","sour","pungent","funky","fruity","rich","floral","mouth-watering","meaty","astringent","noxious","metallic","sickly-sweet","chemical","spicy","fudgy","milky"],\n\t\tscentEdible: ["smoky","peppery","spicy","sweet","tangy","sour","pungent","funky","fruity","rich","floral","mouth-watering","meaty","astringent","spicy","fudgy","milky"],\n\t\tscentCream: ["sweet","tangy","fruity","rich","floral","mouth-watering","spicy","fudgy","milky"],\n\n\ttextureAny: ["cloudy","matte","muddy","murky","oily","translucent","glossy","mirror-bright","glowing","foamy","bubbling","shimmering","glittery","iridescent","smoking","sizzling","roiling","thick","ropy","flabby","gelatinous","swirling"],\n\t\ttextureGloss: ["matte","oily","translucent","glossy","mirror-bright","crystalline","shimmering","glittery","iridescent"],\n\n\tflavorAny: [],\n\t\tflavorSweet: ["almond","brioche","cinnamon","ginger","gingerbread","licorice","maple","molasses","nutmeg","peanut","poppy","praline","rice","sesame","sugar"],\n\t\tflavorSavory: ["anise","asparagus","bacon","beef","beer","black bean","black pepper","bread","cabbage","carrot","cheddar","chili","chicken","cilantro","corn","curry","dill","duck","egg","fennel","garlic","lamb","lettuce","morel","onion","parmesan","pea","pickle","pork","portobello","potato","pretzel","radish","revec*ai","rice","roe","salmon","salt","seaweed","shallot","shiitake","sourdough","sweet pepper","sunflower","tomato","venison","whitefish"],\n\t\tflavorCreamy: ["almond","butterscotch","black tea","butter","caramel","chai","cheese","chocolate","custard","coffee","ginger","lavender","maple","matcha","milk","mint","peanut","pie spice","pumpkin","rice","rose","rum","sea salt","toffee","vanilla","white chocolate"],\n\t\tflavorFruit: ["apple","apricot","banana","blackberry","blueberry","cantaloupe","cherry","coconut","cranberry","grape","guava","honeydew","kiwi","lemon","lime","mango","miraberry","papaya","pawpaw","peach","pear","pineapple","pineberry","raspberry","rhubarb","strawberry","watermelon"],\n\t\tflavorBread: ["blueberry","brioche","beer","cheddar","corn","onion","garlic","poppy","potato","pretzel","pumpernickel","rye","sesame","sourdough","sunflower","tomato"],\n\t\tflavorMeat: ["bacon","beef","chicken","duck","egg","lamb","morel","onion","pork","portobello","revec*ai","roe","salmon","shallot","shiitake","venison","whitefish"],\n\n\n}>>\n\n\t<<for _a to 0; _a < $EDXCommon.flavorSweet.length; _a++>><<set $EDXCommon.flavorAny.pushUnique($EDXCommon.flavorSweet[_a])>><</for>>\n\t<<for _b to 0; _b < $EDXCommon.flavorSavory.length; _b++>><<set $EDXCommon.flavorAny.pushUnique($EDXCommon.flavorSavory[_b])>><</for>>\n\t<<for _c to 0; _c < $EDXCommon.flavorCreamy.length; _c++>><<set $EDXCommon.flavorAny.pushUnique($EDXCommon.flavorCreamy[_c])>><</for>>\n\t<<for _d to 0; _d < $EDXCommon.flavorFruit.length; _d++>><<set $EDXCommon.flavorAny.pushUnique($EDXCommon.flavorFruit[_d])>><</for>>\n\t<<for _e to 0; _e < $EDXCommon.flavorBread.length; _e++>><<set $EDXCommon.flavorAny.pushUnique($EDXCommon.flavorBread[_e])>><</for>>\n\n<<include EDX-Names>>\n<<include EDX-DonsCommon>>\n\n<<set $EDXDonsSerial = { \n\tinput: "", \n}>>
/% Ear %/\n\t<<set $earGenes = $EDXGenebank.Ear; $earPool = []>>\n\t<<for _a to 0; _a < $earGenes.length; _a++>>\n\t\t<<if $EDXProgen1.phnEar.includes($earGenes[_a])>><<set $earPool.push($earGenes[_a])>><<endif>>\n\t\t<<if $EDXProgen2.phnEar.includes($earGenes[_a])>><<set $earPool.push($earGenes[_a])>><<endif>><</for>>\n\t<<set $splice.phnEar = $earPool.random(); $splice.phnEar += $earPool.random()>>\n\t\n/% Eyes %/\n\t<<set $eyeGenes = $EDXGenebank.Eye; $eyePool = []>>\n\t<<for _b to 0; _b < $eyeGenes.length; _b++>>\n\t\t<<if $EDXProgen1.phnEye.includes($eyeGenes[_b])>><<set $eyePool.push($eyeGenes[_b])>><<endif>>\n\t\t<<if $EDXProgen2.phnEye.includes($eyeGenes[_b])>><<set $eyePool.push($eyeGenes[_b])>><<endif>><</for>>\n\t<<set $splice.phnEye = $eyePool.random(); $splice.phnEye += $eyePool.random()>>\n\t\n/% Pupil %/\n\t<<set $pupilGenes = $EDXGenebank.Pupil; $pupilPool = []>>\n\t<<for _c to 0; _c < $pupilGenes.length; _c++>>\n\t\t<<if $EDXProgen1.phnPupil.includes($pupilGenes[_c])>><<set $pupilPool.push($pupilGenes[_c])>><<endif>>\n\t\t<<if $EDXProgen2.phnPupil.includes($pupilGenes[_c])>><<set $pupilPool.push($pupilGenes[_c])>><<endif>><</for>>\n\t<<set $splice.phnPupil = $pupilPool.random(); $splice.phnPupil += $pupilPool.random()>>\n\t\n/% Snoot %/\n\t<<set $snootGenes = $EDXGenebank.Snoot; $snootPool = []>>\n\t<<for _a to 0; _a < $snootGenes.length; _a++>>\n\t\t<<if $EDXProgen1.phnSnoot.includes($snootGenes[_a])>><<set $snootPool.push($snootGenes[_a])>><<endif>>\n\t\t<<if $EDXProgen2.phnSnoot.includes($snootGenes[_a])>><<set $snootPool.push($snootGenes[_a])>><<endif>><</for>>\n\t<<set $splice.phnSnoot = $snootPool.random(); $splice.phnSnoot += $snootPool.random()>>\n\t\n/% Head %/\n\t<<set $headGenes = $EDXGenebank.Head; $headPool = []>>\n\t<<for _b to 0; _b < $headGenes.length; _b++>>\n\t\t<<if $EDXProgen1.phnHeadDeco.includes($headGenes[_b])>><<set $headPool.push($headGenes[_b])>><<endif>>\n\t\t<<if $EDXProgen2.phnHeadDeco.includes($headGenes[_b])>><<set $headPool.push($headGenes[_b])>><<endif>><</for>>\n\t<<set $splice.phnHeadDeco = $headPool.random(); $splice.phnHeadDeco += $headPool.random()>>\n\t\n/% Rierbien %/\n\t<<set $bienGenes = $EDXGenebank.Rierbien; $bienPool = []>>\n\t<<for _c to 0; _c < $bienGenes.length; _c++>>\n\t\t<<if $EDXProgen1.phnRbien.includes($bienGenes[_c])>><<set $bienPool.push($bienGenes[_c])>><<endif>>\n\t\t<<if $EDXProgen2.phnRbien.includes($bienGenes[_c])>><<set $bienPool.push($bienGenes[_c])>><<endif>><</for>>\n\t<<set $splice.phnRbien = $bienPool.random(); $splice.phnRbien += $bienPool.random()>>\n\t\n/% Teeth %/\n\t<<set $teethGenes = $EDXGenebank.Teeth; $teethPool = []>>\n\t<<for _c to 0; _c < $teethGenes.length; _c++>>\n\t\t<<if $EDXProgen1.phnTeeth.includes($teethGenes[_c])>><<set $teethPool.push($teethGenes[_c])>><<endif>>\n\t\t<<if $EDXProgen2.phnTeeth.includes($teethGenes[_c])>><<set $teethPool.push($teethGenes[_c])>><<endif>><</for>>\n\t<<set $splice.phnTeeth = $teethPool.random(); $splice.phnTeeth += $teethPool.random()>>\n\t\n/% Paws %/\n\t<<set $pawGenes = $EDXGenebank.Paw; $pawPool = []>>\n\t<<for _a to 0; _a < $pawGenes.length; _a++>>\n\t\t<<if $EDXProgen1.phnPaw.includes($pawGenes[_a])>><<set $pawPool.push($pawGenes[_a])>><<endif>>\n\t\t<<if $EDXProgen2.phnPaw.includes($pawGenes[_a])>><<set $pawPool.push($pawGenes[_a])>><<endif>><</for>>\n\t<<set $splice.phnPaw = $pawPool.random(); $splice.phnPaw += $pawPool.random()>>\n\t\n/% Limbs %/\n\t<<set $limbGenes = $EDXGenebank.Limb; $limbPool = []>>\n\t<<for _b to 0; _b < $limbGenes.length; _b++>>\n\t\t<<if $EDXProgen1.phnLimb.includes($limbGenes[_b])>><<set $limbPool.push($limbGenes[_b])>><<endif>>\n\t\t<<if $EDXProgen2.phnLimb.includes($limbGenes[_b])>><<set $limbPool.push($limbGenes[_b])>><<endif>><</for>>\n\t<<set $splice.phnLimb = $limbPool.random(); $splice.phnLimb += $limbPool.random()>>\n\t\n/% Beans %/\n\t<<set $beanGenes = $EDXGenebank.Bean; $beanPool = []>>\n\t<<for _c to 0; _c < $beanGenes.length; _c++>>\n\t\t<<if $EDXProgen1.phnBean.includes($beanGenes[_c])>><<set $beanPool.push($beanGenes[_c])>><<endif>>\n\t\t<<if $EDXProgen2.phnBean.includes($beanGenes[_c])>><<set $beanPool.push($beanGenes[_c])>><<endif>><</for>>\n\t<<set $splice.phnBean = $beanPool.random(); $splice.phnBean += $beanPool.random()>>\n\t\n/% Skin %/\n\t<<set $skinGenes = $EDXGenebank.Skin; $skinPool = []>>\n\t<<for _a to 0; _a < $skinGenes.length; _a++>>\n\t\t<<if $EDXProgen1.phnScale.includes($skinGenes[_a])>><<set $skinPool.push($skinGenes[_a])>><<endif>>\n\t\t<<if $EDXProgen2.phnScale.includes($skinGenes[_a])>><<set $skinPool.push($skinGenes[_a])>><<endif>><</for>>\n\t<<set $splice.phnScale = $skinPool.random(); $splice.phnScale += $skinPool.random()>>\n\t\n/% Belly %/\n\t<<set $bellyGenes = $EDXGenebank.Belly; $bellyPool = []>>\n\t<<for _b to 0; _b < $bellyGenes.length; _b++>>\n\t\t<<if $EDXProgen1.phnBelly.includes($bellyGenes[_b])>><<set $bellyPool.push($bellyGenes[_b])>><<endif>>\n\t\t<<if $EDXProgen2.phnBelly.includes($bellyGenes[_b])>><<set $bellyPool.push($bellyGenes[_b])>><<endif>><</for>>\n\t<<set $splice.phnBelly = $bellyPool.random(); $splice.phnBelly += $bellyPool.random()>>\n\t\n/% Spine %/\n\t<<set $spineGenes = $EDXGenebank.Spine; $spinePool = []>>\n\t<<for _c to 0; _c < $spineGenes.length; _c++>>\n\t\t<<if $EDXProgen1.phnSpine.includes($spineGenes[_c])>><<set $spinePool.push($spineGenes[_c])>><<endif>>\n\t\t<<if $EDXProgen2.phnSpine.includes($spineGenes[_c])>><<set $spinePool.push($spineGenes[_c])>><<endif>><</for>>\n\t<<set $splice.phnSpine = $spinePool.random(); $splice.phnSpine += $spinePool.random()>>\n\t\n/% Tail %/\n\t<<set $tailGenes = $EDXGenebank.Tail; $tailPool = []>>\n\t<<for _a to 0; _a < $tailGenes.length; _a++>>\n\t\t<<if $EDXProgen1.phnTail.includes($tailGenes[_a])>><<set $tailPool.push($tailGenes[_a])>><<endif>>\n\t\t<<if $EDXProgen2.phnTail.includes($tailGenes[_a])>><<set $tailPool.push($tailGenes[_a])>><<endif>><</for>>\n\t<<set $splice.phnTail = $skinPool.random(); $splice.phnTail += $tailPool.random()>>\n\t\n/% Wings %/\n\t<<set $wingGenes = $EDXGenebank.Wings; $wingPool = []>>\n\t<<for _b to 0; _b < $wingGenes.length; _b++>>\n\t\t<<if $EDXProgen1.phnWing.includes($wingGenes[_b])>><<set $wingPool.push($wingGenes[_b])>><<endif>>\n\t\t<<if $EDXProgen2.phnWing.includes($wingGenes[_b])>><<set $wingPool.push($wingGenes[_b])>><<endif>><</for>>\n\t<<set $splice.phnWing = $wingPool.random(); $splice.phnWing += $wingPool.random()>>\n\t\n/% Theme %/\n\t<<set $themeGenes = $EDXGenebank.Theme; $themePool = []>>\n\t<<for _c to 0; _c < $themeGenes.length; _c++>>\n\t\t<<if $EDXProgen1.phnTheme.includes($themeGenes[_c])>><<set $themePool.push($themeGenes[_c])>><<endif>>\n\t\t<<if $EDXProgen2.phnTheme.includes($themeGenes[_c])>><<set $themePool.push($themeGenes[_c])>><<endif>><</for>>\n\t<<set $splice.phnTheme = $themePool.random(); $splice.phnTheme += $themePool.random()>>\n\n\n\n\n\n\n\n
/% ==========={ Explore Encounters - O }================ %/\n<<switch $EDXCommon.spawned>>\n/% ==========={ Outer Gardens - Flourish/Gueggies %/\n\t<<case "THLGardenGueggy">><<switch $EDreamDawnFlags.questGueggyCupcake>>\n\t\t<<case 0 "query">>\n\t\t\t<p>A <b>fat little reptilian creature</b> pauses on the path just ahead, looking up at you with big, sparkling, innocent eyes as its ears swivel atop its head!</p>\n\t\t\t<p>"Hi!" chirps the gueggy brightly. "You're that new traveler, aren't you?"<br> It does not wait for an answer.</p>\n\t\t\t<p>"I heard Fleur made cupcakes today... would you go into The Starlight Rose and bring me one? Please!"</p>\n\t\t\t<<set $EDreamDawnFlags.questGueggyCupcake = "query">>\n\t\t<<case -1>>\n\t\t\t<p>A <b>fat little reptilian creature</b> pauses on the path just ahead, looking up at you with big, sparkling, innocent eyes as its ears swivel atop its head!</p>\n\t\t\t<p>"Hi again!" chirps the gueggy brightly. "Did you change your mind about the cupcake..?"</p>\n\t\t\t<<set $EDreamDawnFlags.questGueggyCupcake = "query">>\n\t\t<<case 1>>\n\t\t\t<p>A <b>fat little reptilian creature</b> pauses on the path just ahead, looking up at you with big, sparkling, innocent eyes as its ears swivel atop its head!</p>\n\t\t\t<p>It begins squiggling <i>extra-hard</i> as it recognizes you.<br><b>The cupcake</b>, right...</p>\n\t\t<<case "complete">>/% Default-spawn gueggies now that the quest with Flourish is finished. \n\t\t\tChance for extra Dreamblood gueggies? %/\n\t\t\t<p>A fat little <b>gueggy</b> appears in the nearby foliage, giving you a cheerful squeak hello!</p>\n\t\t<</switch>>\n\n/% ==========={ Outer Gardens - Forage %/\n\t<<case "THLGardenForage">>/% Berries, Mushrooms, larger fruits, flowers + herbs, small/minor crystals, bones/skulls? %/\n\n\t\t\t<<set _itemName = "Something"; _itemQt = random(1,6)>>\n\n\t\t/% Item Granted %/<center><p><div class="announce">Obtained <b><<print _itemName>> <sub>x</sub><<print _itemQt>>!</b></div></p></center>\n\n/% ==========={ Outer Gardens - Pod Curio %/\n\t<<case "THLGardenPod">>\n\t\t<p>In your jaunt through the gardens, you find a small clearing, within which sits a large, strange plant.<br>\n\t\t\tIt anchors into the ground upon thick green roots, while vines reach upwards to clutch, frame, and cradle a large pod that glows with a soft pink hue.</p>\n\t\t<p>Within, a vague silhouette twitches slightly.</p><br>\n\t\t<p><i><b>Something</b> is alive in there.</i></p>\n\n/% ==========={ Outer Gardens - River Curio %/\n\t<<case "THLGardenRiver">>/% Todo - enable fishing and/or bottling some of the water. %/\n\t\t<p>You hear the gentle sound of flowing water, and turn to find the source.<br>\n\t\tNearby, <b>a small river</b> cuts through the lush grass just behind the Gardens proper, alive with <b>fish, birds, and insects!</b></p>\n\t\t<p>You take a moment to rest, relax, and enjoy the woodland scene as you consider what you'd like to do next.</p>\n\n\n/% ==========={ Outer Gardens - Sverian Lasher %/\n\t<<case "THLGardenLasher">> /% flavor for now, donsair claim later %/\n\t\t<p>A <b><<print either("white","white","red","pink","yellow","starlight")>> rose</b> abruptly leaps off of a nearby bush, standing fearlessly before you on little root-legs!<br>\n\t\t<<print either("It seems to appraise you in careful silence for a moment, then scurries off again before you can stop it!","As you consider the nature of the thing, it leps forward to give you a <b>sharp nip</b>, then runs off into the dense foliage! <i><b>Hey!</b></i>")>></p>\n\n/% ==========={ Outer Gardens - Saptor %/\n\t<<case "THLGardenSaptor">> /% Item giver for now, item giver and/or donsair claim later %/\n\t\t\t<<set _itemName = "Something"; _itemQt = 1>>\n\t\t<p>A sudden, melodic trill catches your attention-- mere moments before <b>a large beast</b> leaps from the bushes, narrowly missing you!<br>\n\t\tThe <b>saptor</b>-- with a <<print either("deep blue","white","pink")>> faceplate and <<print either("white","pink","glowing")>> flowers-- seems proud of itself as you gather your wits once more, clacking its thorny claws.</p>\n\t\t<p>To your confusion and relief, the dinosaur-shaped plant hands you a small gift before bounding off into the gardens, vanishing again without a trace!</p>\n\t\t/% Item Granted %/<center><p><div class="announce">Obtained <b><<print _itemName>> <sub>x</sub><<print _itemQt>>!</b></div></p></center>\n\n/% ==========={ Outer Gardens - Garden Tendrilvine %/\n\t<<case "THLGardenVine">>/% Oh, a rose vine hanging from a tree! ...oh, it's moving. ...Oh, it wants to feed you! %/\n\t\t<p><b>A curious rustling from the nearby trees</b> catches your attention.<br>\n\t\tTurning, you spot something like a long, thick snake slithering down from a branch as it slowly reaches out to you.</p>\n\t\t<p>Taking note of the beautiful roses dotting its length, you realize it's not a snake at all-- but <b>some sort of ambulatory vine!</b></p><br>\n\t\t<p>Boldly, it reaches out to gesture towards your mouth with its gently-pointed tip, even as more of its length makes its way closer, hanging heavy like coils of rope.</p><br>\n\t\t<p>What could it want from you?</p>\n\n\n/% ==========={ Outer Gardens - Wine Slime %/\n\t<<case "THLGardenWineSlime">>/% Size variations; larger slimes take on beastlike shapes, too %/\n\n\n/% ==========={ Outer Gardens - Wild Beast! %/\n\t<<case "THLGardenBeast">>/% A creature has snuck into the garden!\n\t\tFlying Squirrel/Rabbit/Badger/Fox/Feewyrm/Giant Frog/Lynx/Hawkstrider/Deer/Unicorn/Bear/Dragonhawk %/\n\n\n/% ==========={ Default "No Result" Output %/\n\t<<default>><<print _exploreDefault>>\n<</switch>>
/% Active Donsair is set by the calling applet %/\n\n/% Create Serialization tray %/\n<<set $EDXDonsSerial = $EDXDonsair; $EDXDonsSerial.output = "">>\n\n/% Serialize %/\n\n<<set _baseSpec = "spec:" + $EDXDonsair.Species + " ">>\n<<set _baseSubspec = "subspec:" + $EDXDonsair.Subspec + " ">>\n<<set _basePers = "pers:" + $EDXDonsair.baseMood + " ">>\n<<set _baseImg = "img:" + $EDXDonsair.img + " ">>\n<<set $EDXDonsSerial.output += _baseSpec + _baseSubspec + _basePers + _baseImg>>\n\n<<set _statVit = "vit:" + $EDXDonsair.vit + " ">>\n<<set _statArm = "arm:" + $EDXDonsair.arm + " ">>\n<<set _statStr = "str:" + $EDXDonsair.str + " ">>\n<<set _statWill = "will:" + $EDXDonsair.will + " ">>\n<<set _statFin = "fin:" + $EDXDonsair.fin + " ">>\n<<set _statPerc = "perc:" + $EDXDonsair.perc + " ">>\n<<set _statWhim = "whim:" + $EDXDonsair.whim + " ">>\n<<set _statSan = "san:" + $EDXDonsair.san + " ">>\n\n<<set $EDXDonsSerial.output += _statVit + _statArm + _statStr + _statWill + _statFin + _statPerc + _statWhim + _statSan>>\n\n<<set _scaleBType = "bType:" + $EDXDonsair.bType + " ">>\n<<set _scaleChest = "chest:" + $EDXDonsair.chest + " ">>\n<<set _scaleBelly = "belly:" + $EDXDonsair.belly + " ">>\n<<set _scaleBody = "body:" + $EDXDonsair.body + " ">>\n<<set _scaleLimbs = "limbs:" + $EDXDonsair.limbs + " ">>\n<<set _scaleThigh = "thigh:" + $EDXDonsair.thigh + " ">>\n<<set _scaleTail = "tail:" + $EDXDonsair.tail + " ">>\n\n<<set _metaGain = "gain:" + $EDXDonsair.gain + " ">>\n<<set _metaStockX = "stockX:" + $EDXDonsair.stockX + " ">>\n<<set _metaStretch = "stretch:" + $EDXDonsair.stretch + " ">>\n\n<<set $EDXDonsSerial.output += _scaleBType + _scaleChest + _scaleBelly + _scaleBody + _scaleLimbs + _scaleThigh + _scaleTail + _metaGain + _metaStockX + _metaStretch>>\n\n<<set _prodEggType = "eggType:" + $EDXDonsair.eggType + " ">>\n<<set _prodMilkType = "milkType:" + $EDXDonsair.milkType + " ">>\n<<set _prodVenomType = "venomType:" + $EDXDonsair.venomType + " ">>\n<<set _prodClutchRate = "clutchRate:" + $EDXDonsair.clutchRate + " ">>\n<<set _prodMilkRate = "milkRate:" + $EDXDonsair.milkRate + " ">>\n<<set _prodMilkfat = "milkfat:" + $EDXDonsair.milkfat + " ">>\n<<set _prodVenomRate = "venomRate:" + $EDXDonsair.venomRate + " ">>\n\n<<set $EDXDonsSerial.output += _prodEggType + _prodMilkType + _prodVenomType + _prodClutchRate + _prodMilkRate + _prodMilkfat + _prodVenomRate>>\n\n<<set _colorBaseColor = "baseColor:" + $EDXDonsair.baseColor + " ">>\n<<set _colorBaseDilute = "baseDilute:" + $EDXDonsair.baseDilute + " ">>\n<<set _colorBellyColor = "bellyColor:" + $EDXDonsair.bellyColor + " ">>\n<<set _colorBellyDilute = "bellyDilute:" + $EDXDonsair.bellyDilute + " ">>\n<<set _colorCompColor = "compColor:" + $EDXDonsair.compColor + " ">>\n<<set _colorCompDilute = "compDilute:" + $EDXDonsair.compDilute + " ">>\n<<set _colorMarkColor = "markColor:" + $EDXDonsair.markColor + " ">>\n<<set _colorMarkDilute = "markDilute:" + $EDXDonsair.markDilute + " ">>\n<<set _colorPatPres = "patPres:" + $EDXDonsair.patPres + " ">>\n<<set _colorWhiteSpot = "whiteSpot:" + $EDXDonsair.whiteSpot + " ">>\n<<set _colorGrey = "grey:" + $EDXDonsair.Grey + " ">>\n<<set _colorFreckle = "freckle:" + $EDXDonsair.Freckle + " ">>\n<<set _colorGradient = "gradient:" + $EDXDonsair.Gradient + " ">>\n<<set _colorFiligree = "filigree:" + $EDXDonsair.Filigree + " ">>\n<<set _colorHarlequin = "harlequin:" + $EDXDonsair.Harlequin + " ">>\n<<set _colorStripe = "stripe:" + $EDXDonsair.Stripe + " ">>\n<<set _colorInk = "ink:" + $EDXDonsair.Ink + " ">>\n<<set _colorAnomaly = "anomaly:" + $EDXDonsair.Anomaly + " ">>\n\n<<set $EDXDonsSerial.output += _colorBaseColor + _colorBaseDilute + _colorBellyColor + _colorBellyDilute + _colorCompColor + _colorCompDilute + _colorMarkColor + _colorMarkDilute + _colorPatPres + _colorWhiteSpot + _colorGrey + _colorFreckle + _colorGradient + _colorFiligree + _colorHarlequin + _colorStripe + _colorInk + _colorAnomaly>>\n\n<<set _phenoEar = "phnEar:" + $EDXDonsair.phnEar + " ">>\n<<set _phenoSnoot = "phnSnoot:" + $EDXDonsair.phnSnoot + " ">>\n<<set _phenoEye = "phnEye:" + $EDXDonsair.phnEye + " ">>\n<<set _phenoPupil = "phnPupil:" + $EDXDonsair.phnPupil + " ">>\n<<set _phenoHeadDeco = "phnHeadDeco:" + $EDXDonsair.phnHeadDeco + " ">>\n<<set _phenoRbien = "phnRbien:" + $EDXDonsair.phnRbien + " ">>\n<<set _phenoTeeth = "phnTeeth:" + $EDXDonsair.phnTeeth + " ">>\n<<set _phenoPaw = "phnPaw:" + $EDXDonsair.phnPaw + " ">>\n<<set _phenoLimb = "phnLimb:" + $EDXDonsair.phnLimb + " ">>\n<<set _phenoBean = "phnBean:" + $EDXDonsair.phnBean + " ">>\n<<set _phenoScale = "phnScale:" + $EDXDonsair.phnScale + " ">>\n<<set _phenoBelly = "phnBelly:" + $EDXDonsair.phnBelly + " ">>\n<<set _phenoSpine = "phnSpine:" + $EDXDonsair.phnSpine + " ">>\n<<set _phenoTail = "phnTail:" + $EDXDonsair.phnTail + " ">>\n<<set _phenoWing = "phnWing:" + $EDXDonsair.phnWing + " ">>\n<<set _phenoTheme = "phnTheme:" + $EDXDonsair.phnTheme + " ">>\n\n<<set $EDXDonsSerial.output += _phenoEar + _phenoSnoot + _phenoEye + _phenoPupil + _phenoHeadDeco + _phenoRbien + _phenoTeeth + _phenoPaw + _phenoLimb + _phenoBean + _phenoScale + _phenoBelly + _phenoSpine + _phenoTail + _phenoWing + _phenoTheme>>\n\n<<if $EDXDonsair.Mutations.includes("viviere")>><<set $EDXDonsSerial.output += "mutViviere:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("ovian")>><<set $EDXDonsSerial.output += "mutOvian:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("slime")>><<set $EDXDonsSerial.output += "mutSlime:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("pudding")>><<set $EDXDonsSerial.output += "mutPudding:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("balloon")>><<set $EDXDonsSerial.output += "mutBalloon:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("plushie")>><<set $EDXDonsSerial.output += "mutPlushie:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("adiposa")>><<set $EDXDonsSerial.output += "mutAdiposa:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("confection")>><<set $EDXDonsSerial.output += "mutConfection:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("epicurean")>><<set $EDXDonsSerial.output += "mutEpicurean:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("evian")>><<set $EDXDonsSerial.output += "mutEvian:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("honeypot")>><<set $EDXDonsSerial.output += "mutHoneypot:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("greenhouse")>><<set $EDXDonsSerial.output += "mutGreenhouse:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("rosebelly")>><<set $EDXDonsSerial.output += "mutRosebelly:1 ">><<endif>>\n\n<<if $EDXDonsair.TFs.includes("fyynmorph")>><<set $EDXDonsSerial.output += "tfFyynmorph:" + $EDXDonsair.tfFyynmorph + " ">><<endif>>\n<<if $EDXDonsair.TFs.includes("omniphage")>><<set $EDXDonsSerial.output += "tfOmniphage:" + $EDXDonsair.tfOmniphage + " ">><<endif>>\n<<if $EDXDonsair.TFs.includes("realization")>><<set $EDXDonsSerial.output += "tfRealization:" + $EDXDonsair.tfRealization + " ">><<endif>>\n<<if $EDXDonsair.TFs.includes("mirlait")>><<set $EDXDonsSerial.output += "tfMirlait:" + $EDXDonsair.tfMirlait + " ">><<endif>>\n\n\n\n\n
/% ========================================= %/\t\n/% Prepwork %/ <<include EDX-DonsCommon>>\n\n<<set _pickSelf = $EDXCommon.Selfs; _pickSelf.unshiftUnique("random")>>\n\n<<set _pickPersonality = $EDXDons.baseMood; _pickPersonality.unshiftUnique("random")>>\n\n<<set _pickBType = $EDXDons.bTypePick; _pickBType.unshiftUnique("random")>>\n\n<<set _pickImg = $EDreamLiveDons.specImages; _pickImg.unshiftUnique("random")>>\n\n<<set _pickRegion = $EDXDons.Regions; _pickRegion.unshiftUnique("random")>>\n\n\n<<set $EDreamLiveDons.Mode = "fromInput">>\n<div class="ulHeader"><h4>''New Donsair''</h4></div><center>\n/% ========================================= %/\t\n<p>Enter your donsair's <b>current stats</b> below, then click the button to continue.<br> \nIf you don't have a value, you can leave it empty.</p>\n</center>\n\n<hr><div>\n<div class="indent">\n\t\n\t<div class="vSpace"><b>Name</b> <<textbox "$EDreamDonsInput.Name" "Donsair" autofocus>></div><br>\n\n\t<div class="vSpace">\n\t\t<b>Species</b> <<textbox "$EDreamDonsInput.Species" "Revec*ai">> \n\t\t<b>Subspecies (Optional)</b> <<textbox "$EDreamDonsInput.Subspec" "">><br>\n\t\t<b>Subtype (Optional)</b> <<textbox "$EDreamDonsInput.Subtype" "">>\n\t</div><br>\n\n\t<center><div class="vSpace">\n\t\t<b>Self-Concept</b> <<listbox "$EDreamDonsInput.Self">>\n\t\t\t\t<<optionsfrom _pickSelf>><</listbox>> \n\n\t\t<b>Personality</b> <<listbox "$EDreamDonsInput.Mood">>\n\t\t\t\t<<optionsfrom _pickPersonality>><</listbox>>\n\n\t\t<b>Body Type</b> <<listbox "$EDreamDonsInput.bType">>\n\t\t\t\t<<optionsfrom _pickBType>><</listbox>> \n\t</div><br>\n\n\t<div class="vSpace2">\n\t\t<b>Image</b> <<listbox "$EDreamDonsInput.img">>\n\t\t\t\t<<optionsfrom _pickImg>><</listbox>>\n\n\t\t<b>Home Region</b> <<listbox "$EDreamDonsInput.Region">>\n\t\t\t\t<<optionsfrom _pickRegion>><</listbox>>\n\t</div></center>\n\n</div>\n</div><hr>\n/% ========================================= %/\t\n<div><b>Statistics</b><br>\n\n<div class="indent">\n<b>Vitality</b> <<textbox "$EDreamDonsInput.vit" 20>> \n<b>Armor</b> <<textbox "$EDreamDonsInput.arm" 3>><br>\n<b>Strength</b> <<textbox "$EDreamDonsInput.str" 16>> \n<b>Will</b> <<textbox "$EDreamDonsInput.will" 18>><br>\n<b>Finesse</b> <<textbox "$EDreamDonsInput.fin" 16>>\n<b>Perception</b> <<textbox "$EDreamDonsInput.perc" 14>> \n<p></p>\n</div>\n\n<div class="indent">\n<b>Whimsy</b> <<textbox "$EDreamDonsInput.whim" 20>> \n<b>Sanity</b> <<textbox "$EDreamDonsInput.san" 2>><br>\n</div>\n\n<div class="indent">\n<b>Gain</b> <<textbox "$EDreamDonsInput.gain" 1>>\n<b>Stretch</b> <<textbox "$EDreamDonsInput.stretch" 1.2>><br>\n<b>Stock x</b> <<textbox "$EDreamDonsInput.stockX" 1>>\n</div>\n\n</div><hr>\n/% ========================================= %/\t\n<div><b>Proportions</b><br>\n<div class="indent">\n<b>Chest</b> <<textbox "$EDreamDonsInput.chest" 12>> \n<b>Belly</b> <<textbox "$EDreamDonsInput.belly" 65>><br>\n<b>Limbs</b> <<textbox "$EDreamDonsInput.limbs" 12>> \n<b>Body</b> <<textbox "$EDreamDonsInput.body" 60>><br>\n<b>Thighs</b> <<textbox "$EDreamDonsInput.thigh" 30>> \n<b>Tail</b> <<textbox "$EDreamDonsInput.tail" 15>><br>\n</div>\n\n</div><hr>\n\n/% ========================================= %/\t\n<div><b>Production</b><br>\n<div class="indent">\n<b>Egg Type</b> <<textbox "$EDreamDonsInput.eggType" "Revec*ai Eggs">>\n<b>Clutch Rate</b> <<textbox "$EDreamDonsInput.clutchRate" 1>> <br>\n<b>Milk Type</b> <<textbox "$EDreamDonsInput.milkType" "Revec*ai Milk">>\n<b>Milk Rate</b> <<textbox "$EDreamDonsInput.milkRate" 1>><br>\n<b>Milkfat</b> <<textbox "$EDreamDonsInput.milkfat" 2>><br>\n<b>Venom Type</b> <<textbox "$EDreamDonsInput.venomType" "Standard Miratoxin">>\n<b>Venom Rate</b> <<textbox "$EDreamDonsInput.venomRate" 1>><br>\n</div>\n\n/% ========================================= %/\t\n<hr><h5>Genetics</h5>\n<b>Color/Pattern</b><br>\n<div class="indent">\n<b>Base Color</b> <<textbox "$EDreamDonsInput.baseColor" "">> \n\t<b>Base Dilute</b> <<textbox "$EDreamDonsInput.baseDilute" "">><br> \n<b>Belly Color</b> <<textbox "$EDreamDonsInput.bellyColor" "">> \n\t<b>Belly Dilute</b> <<textbox "$EDreamDonsInput.bellyDilute" "">><br> \n<b>Accent Color</b> <<textbox "$EDreamDonsInput.compColor" "">> \n\t<b>Accent Dilute</b> <<textbox "$EDreamDonsInput.compDilute" "">><br> \n<b>Marking Color</b> <<textbox "$EDreamDonsInput.markColor" "">> \n\t<b>Marking Dilute</b> <<textbox "$EDreamDonsInput.markDilute" "">><br> \n\n<b>Pattern Presence/Location</b> <<textbox "$EDreamDonsInput.patPres" "">><br> \n\n<b>White Spotting</b> <<textbox "$EDreamDonsInput.whiteSpot" "">>\n<b>Grey</b> <<textbox "$EDreamDonsInput.Grey" "">> <br>\n\n<b>Freckle</b> <<textbox "$EDreamDonsInput.Freckle" "">>\n<b>Gradient</b> <<textbox "$EDreamDonsInput.Gradient" "">><br>\n<b>Filigree</b> <<textbox "$EDreamDonsInput.Filigree" "">>\n<b>Harlequin</b> <<textbox "$EDreamDonsInput.Harlequin" "">><br> \n<b>Stripe</b> <<textbox "$EDreamDonsInput.Stripe" "">>\n<b>Ink</b> <<textbox "$EDreamDonsInput.Ink" "">><br> \n<b>Anomaly</b> <<textbox "$EDreamDonsInput.Anomaly" "">>\n</div>\n\n<b>Phenotype</b>\n<div class="indent">\n<b>Ear</b> <<textbox "$EDreamDonsInput.phnEar" "">> \n\t<b>Snoot</b> <<textbox "$EDreamDonsInput.phnSnoot" "">><br> \n<b>Eye</b> <<textbox "$EDreamDonsInput.phnEye" "">> \n\t<b>Pupil</b> <<textbox "$EDreamDonsInput.phnPupil" "">><br> \n<b>Head Decoration</b> <<textbox "$EDreamDonsInput.phnHeadDeco" "">> \n\t<b>Rierbien</b> <<textbox "$EDreamDonsInput.phnRbien" "">><br> \n<b>Teeth</b> <<textbox "$EDreamDonsInput.phnTeeth" "">> \n\t<b>Paw</b> <<textbox "$EDreamDonsInput.phnPaw" "">><br> \n<b>Limb</b> <<textbox "$EDreamDonsInput.phnLimb" "">> \n\t<b>Bean</b> <<textbox "$EDreamDonsInput.phnBean" "">><br> \n<b>Scale</b> <<textbox "$EDreamDonsInput.phnScale" "">> \n\t<b>Belly</b> <<textbox "$EDreamDonsInput.phnBelly" "">><br> \n<b>Spine</b> <<textbox "$EDreamDonsInput.phnSpine" "">> \n\t<b>Tail</b> <<textbox "$EDreamDonsInput.phnTail" "">><br> \n<b>Wing</b> <<textbox "$EDreamDonsInput.phnWing" "">> \n\t<b>Theme</b> <<textbox "$EDreamDonsInput.phnTheme" "">><br>\n</div>\n\n/% ========================================= %/\t\n<hr><b>Mutations</b><br>\n<div class="indent">\n<<checkbox "$EDreamDonsInput.mutViviere" false true>> <b>Viviere</b> \n<<checkbox "$EDreamDonsInput.mutOvian" false true>> <b>Ovian</b> \n<<checkbox "$EDreamDonsInput.mutSlime" false true>> <b>Slime</b> \n<<checkbox "$EDreamDonsInput.mutPudding" false true>> <b>Pudding</b> \n<<checkbox "$EDreamDonsInput.mutBalloon" false true>> <b>Balloon</b> \n<<checkbox "$EDreamDonsInput.mutPlushie" false true>> <b>Plushie</b><br>\n \n<<checkbox "$EDreamDonsInput.mutAdiposa" false true>> <b>Adiposa</b> \n<<checkbox "$EDreamDonsInput.mutConfection" false true>> <b>Confection</b> \n<<checkbox "$EDreamDonsInput.mutEpicurean" false true>> <b>Epicurean</b> \n<<checkbox "$EDreamDonsInput.mutEvian" false true>> <b>Evian</b> \n<<checkbox "$EDreamDonsInput.mutHoneypot" false true>> <b>Honeypot</b> <br>\n\n<<checkbox "$EDreamDonsInput.mutGreenhouse" false true>> <b>Greenhouse</b> \n<<checkbox "$EDreamDonsInput.mutRosebelly" false true>> <b>Rosebelly</b> \n</div>\n\n<hr><b>Transformations</b><br>\n<div class="indent">\n<<checkbox "$EDreamDonsInput.tfRealization" false true>> <b>Realization</b> \n<<checkbox "$EDreamDonsInput.tfFyynmorph" false true>> <b>Fyynmorph</b> \n<<checkbox "$EDreamDonsInput.tfOmniphage" false true>> <b>Omniphage</b> \n<<checkbox "$EDreamDonsInput.tfMirlait" false true>> <b>Mirlait</b> \n</div>\n\n</div><hr>\n/% ========================================= %/\t\n\n<center><div><b>\n<<button "Start!" "DonsairMain">><</button>>\n\n</b></div></center>
<<set $EDXDons = {\n\tbType: ["","","chest","belly","thighs","tail","hourglass","round","pear","lower"],\n\tbTypePick: ["unremarkable","chest","belly","thighs","tail","hourglass","round","pear","lower"],\n\tbaseMood: ["angry","calm","playful","happy","bouncy","energetic","grumpy","goofy","weird"],\n\tMutations: ["viviere","ovian","slime","pudding","balloon","plushie","adiposa","confection","epicurean","evian","honeypot","greenhouse","rosebelly"],\n\tTFs: ["realization","mirlait","fyynmorph","omniphage"],\n\n\tRegions: ["Chimre","Dreamsong","Moongarden"],\n\n}>>
/% ==========={ Loops by Alpha }================ %/\n\n<<set _alphaLoop = $EDXCommon.scenario.first()>>\n\n<<switch _alphaLoop>>\n\t<<case "A">><<include EDX-LoopA>>\n\t<<case "G">><<include EDX-LoopG>>\n\t<<case "Z">><<include EDX-LoopZ>>\n<</switch>>\n\n
<<set $EDreamLiveDons = {\n\tDisplayTitle: "EVERDREAM♦",\n\tSpecVer: "Development",\n\tStartGame: 0, Mode: "", Debug: 0,\n\ttimeTick: 0,\n\tNewRoll: 0, Roll: "",\n\tpAction: "", Fed: "",\n\tautoMode: 0, timerSpeed: 8,\n\tmenuMode: "", geneTab: 0, foodTab: 0,\n\tlimbType: "Arms",\n\tconfRename: 0, statRefresh: 0,\n\ttooltip: "",\n\tactiveBreed: 0,\n\n\tSelfs: ["random","none/neuter","they/them","she/her","he/him","jei/jem"],\n\tRegions: ["Chimre","Dreamsong","Moongarden"],\n\tspecImages: ["classic","diamond"],\n }>>\n\n<<set $EDreamDonsair = {\n\tName: "Donsair",\n\tSpecies: "", Subspec: "", Subtype: "",\n\timg: "", baseMood: "", \n\tanimOverride: "", actOverride: "",\n\tasleep: 0, Trust: 0, Exhaustion: 0,\n\tbType: "",\n\tAnim: "donsHappy",\n\tMuts: ["ph mutation"],\n\tSelf: "none/neuter", pnRef1: "it", pnRef2: "it", pnPos: "its", pnSelf: "itself",\n\thomeRegion: "", \n\tNewRoll: 0, Roll: "", \n\tAction: "actGreet", lastAct: "",\n\tMode: "", \n\n\tmaxVit: 0, vit: 0, corp: 0,\n\tarm: 0, str: 0, will: 0, fin: 0, perc: 0, whim: 0, san: 0,\n\tchest: 0, belly: 0, body: 0, limbs: 0, thigh: 0, tail: 0,\n\tgain: 0, stretch: 0, \n\tstock: 0, stockX: 0,\n\tmaxBloat: 0, bloat: 0, \t\n\n\teggType: "", eggs: 0,\n\tmilkType: "", milkfat: 0, milk: 0,\n\tvenomType: "", venomRate: 0, venom: 0,\n }>>\n\n<<set $EDreamDonsDNA = {\n\tvit: 0, arm: 0, str: 0, will: 0, fin: 0, perc: 0, whim: 0, san: 0,\n\tchest: 0, belly: 0, body: 0, limbs: 0, thigh: 0, tail: 0,\n\tgain: 0, stretch: 0, stockX: 0,\n\tbType: "",\n\n\teggType: "", milkType: "", venomType: "",\n\teggs: "", milk: "", venom: "",\n\tclutchRate: 0, milkRate: 0, milkfat: 0, venomRate: 0,\n\n\tbaseColor: "", baseDilute: "",\n\tbellyColor: "", bellyDilute: "",\n\tcompColor: "", compDilute: "",\n\tmarkColor: "", markDilute: "",\n\tpatPres: "",\n\twhiteSpot: "", Grey: "",\n\tFreckle: "", Gradient: "",\n\tFiligree: "", Harlequin: "",\n\tStripe: "", Ink: "",\n\tAnomaly: "",\n\n\tphnEar: "", phnSnoot: "", \n\tphnEye: "", phnPupil: "",\n\tphnHeadDeco: "", phnRbien: "", phnTeeth: "",\n\tphnPaw: "", phnLimb: "", \n\tphnBean: "", phnScale: "",\n\tphnBelly: "", phnSpine: "", phnTail: "",\n\tphnWing: "", phnTheme: "",\n\n\tMutations: [], TFs: [],\n\tmutViviere: 0, mutOvian: 0,\n\tmutSlime: 0, mutPudding: 0,\n\tmutBalloon: 0, mutPlushie: 0,\n\tmutAdiposa: 0, mutConfection: 0,\n\tmutEpicurean: 0, mutEvian: 0,\n\tmutHoneypot: 0, mutGreenhouse: 0,\n\tmutRosebelly: 0,\n\n\ttfRealization: 0, tfFyynmorph: 0,\n\ttfOmniphage: 0, tfMirlait: 0,\n }>>\n\n\n<<set $EDreamDonsInput = {\n\tName: "", pendRename: "",\n\timg: "", Species: "Revec*ai", Subspec: "", \n\tSelf: "none/neuter", Mood: "happy", Region: "",\n\n\tvit: 0, arm: 0, str: 0, will: 0, fin: 0, perc: 0, whim: 0, san: 0,\n\tchest: 0, belly: 0, body: 0, limbs: 0, thigh: 0, tail: 0,\n\tgain: 1, stretch: 1.2, stockX: 1,\n\n\teggType: "", milkType: "", venomType: "",\n\tclutchRate: 0, milkRate: 0, milkfat: 0, venomRate: 0,\n\n\tbaseColor: "", baseDilute: "",\n\tbellyColor: "", bellyDilute: "",\n\tcompColor: "", compDilute: "",\n\tmarkColor: "", markDilute: "",\n\tpatPres: "",\n\twhiteSpot: "", Grey: "",\n\tFreckle: "", Gradient: "",\n\tFiligree: "", Harlequin: "",\n\tStripe: "", Ink: "",\n\tAnomaly: "",\n\n\tphnEar: "", phnSnoot: "", \n\tphnEye: "", phnPupil: "",\n\tphnHeadDeco: "", phnRbien: "", phnTeeth: "",\n\tphnPaw: "", phnLimb: "", \n\tphnBean: "", phnScale: "",\n\tphnBelly: "", phnSpine: "", phnTail: "",\n\tphnWing: "", phnTheme: "",\n\n\tMutations: [], TFs: [],\n\tmutViviere: 0, mutOvian: 0,\n\tmutSlime: 0, mutPudding: 0,\n\tmutBalloon: 0, mutPlushie: 0,\n\tmutAdiposa: 0, mutConfection: 0,\n\tmutEpicurean: 0, mutEvian: 0,\n\tmutHoneypot: 0, mutGreenhouse: 0,\n\tmutRosebelly: 0,\n\t\n\ttfRealization: 0, tfFyynmorph: 0,\n\ttfOmniphage: 0, tfMirlait: 0,\t\n\n }>>\n\n<<include EDX-Connect>>\n\n\n
<<if $EDreamDonsair.animOverride neq "">>\n\t<<set $EDreamDonsair.Anim = $EDreamDonsair.animOverride>>\n\n<<else>>\n\t<<switch $EDreamDonsair.baseMood>>\n\t\t<<case "happy" "cheerful" "playful">>\n\t\t\t<<set $EDreamDonsair.Anim = either("donsHappy","donsDance")>>\n\n\t\t<<case "bouncy" "energetic">>\n\t\t\t<<set $EDreamDonsair.Anim = either("donsHappy","donsBounce","donsDance","donsJiggle","donsStretch")>>\n\n\t\t<<case "goofy" "weird">>\n\t\t\t<<set $EDreamDonsair.Anim = either("donsJiggle","donsStretch","donsDance","donsBreathe","donsWeeOo")>>\n\n\t\t<<case "grumpy">> /% Trust variants %/\n\t\t\t<<if $EDreamDonsair.Trust gte 20>> /% Wary+ %/<<set $EDreamDonsair.Anim = "donsBreathe">>\n\t\t\t<<else>> /% Mistrustful %/<<set $EDreamDonsair.Anim = either("donsBreathe","donsAngy")>>\n\t\t\t<<endif>>\n\t\t\t\n\n\t\t<<case "angry">> /% Trust variants %/\n\t\t\t<<if $EDreamDonsair.Trust gte 20>> /% Wary+ %/<<set $EDreamDonsair.Anim = "donsBreathe">>\n\t\t\t<<else>> /% Mistrustful %/<<set $EDreamDonsair.Anim = either("donsBreathe","donsAngy","donsSeethe")>>\n\t\t\t<<endif>>\t\t\t\n\n\t\t<<default>>\n\t\t\t<<set $EDreamDonsair.Anim = "donsBreathe">>\n\t<</switch>>\n\n<<endif>>\n\n/% Cleanup %/\n\t<<set $EDreamDonsair.animOverride = "">>\n
/% ==========={ Explore by Zone/Alpha }================ %/\n<<set _alphaExp = $EDXCommon.spawned.first()>>\n\n<<if $EDXCommon.spawned.includes("THLGarden")>>\n\t/% Dawn Crystal - Outer Gardens %/ <<include EDX-ExploreO>>\n\n<<else>>/% Alpha Mode %/\n\t<<switch _alphaExp>>\n\t\t<<case "A">><<include EDX-ExploreA>>\n\t\t<<case "G">><<include EDX-ExploreG>>\n\t\t<<case "O">><<include EDX-ExploreO>>\n\t\t<<case "Z">><<include EDX-ExploreZ>>\n\t<</switch>>\n<<endif>>\n\n
/% Actions - Grumpy %/\n<<switch $EDreamDonsair.Action>>\n/% =========={ Greeting %/\n\t<<case "actGreet">>\n\t\t<<set $EDreamDonsair.Action = either("gives you a look, then glances away again.","shoots you a glance.","doesn't react to your arrival...","just looks at you.","takes note of you, but doesn't react.")>>\n\n\n/% =========={ Idling/Autonomous %/\n\t<<case "actIdleLiving">> /% Trust variants %/\n\n\t\t<<if $EDreamDonsair.Trust gte 35>> /% Accepting %/\n\t\t\t<<set $EDreamDonsair.Action = either("seems to be relaxing...","looks calm.","makes little noises to " + $EDreamDonsair.pnSelf + ".","fell asleep..!","gives you a soft, questioning look.","autoExplore")>>\n\n\t\t<<elseif $EDreamDonsair.Trust gte 20>> /% Wary %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<set $EDreamDonsair.Action = either("watches you closely.","sits quietly.","watches you carefully.","settles down, but keeps their eye on you...")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","")>>\n\t\t\t<<set $EDreamDonsair.Action = either("ignores you.","looks annoyed...","glances at you and sighs...","looks like " + $EDreamDonsair.pnRef1 + " wants to bite you.","watches you carefully.","settles down, but keeps their eye on you...")>>\n\t\t<<endif>>\n\t\t/% Pronoun grammar fix %/\n\t\t\t<<if $EDreamDonsair.Action eq "looks like they wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like they want to bite you.">>\n\t\t\t<<elseif $EDreamDonsair.Action eq "looks like jei wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like jei want to bite you.">><<endif>>\n\n/% =========={ Pet/Groom %/\n\t<<case "actPetted" "actGroomed">> /% Trust variants %/\n\t\t<<if $EDreamDonsair.Trust gte 55>> /% Trusting %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe"; $EDreamDonsair.Trust += either(0,1)>>\n\t\t\t<<set $EDreamDonsair.Action = either("purrs faintly...","purrs softly.","purrs softly.","purrs deeply!","leans into your touch!","seems to trust you..!","looks content...")>>\n\n\t\t<<elseif $EDreamDonsair.Trust gte 35>> /% Accepting %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<set $EDreamDonsair.Action = either("makes a soft little sound of confusion.","makes a soft little sound.","purrs weakly...","purrs weakly...","leans into your touch...","seems to be warming up to you...")>>\t\n\n\t\t\t<<switch $EDreamDonsair.Action>>\n\t\t\t\t<<case "makes a soft little sound." "purrs weakly..." "leans into your touch..." "seems to be warming up to you...">>\n\t\t\t\t\t<<set $EDreamDonsair.Trust += either(0,0,1)>>\n\t\t\t<</switch>>\n\n\t\t<<elseif $EDreamDonsair.Trust gte 20>> /% Wary %/\n\t\t\t\t<<set $EDreamDonsair.Action = either("allows it...","makes a little sound of apprehension.","holds perfectly still.","purrs weakly.","tenses up!","leans away from your paw!","chatters " + $EDreamDonsair.pnPos + " teeth irritably!","looks like " + $EDreamDonsair.pnRef1 + " wants to bite you.","snaps at you!","tries to bite you!","bites you!!")>>\n\n\t\t\t<<if $EDreamDonsair.Action.includes("allows it.")>>\n\t\t\t\t<<set $EDreamDonsair.Trust++; $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<else>>\n\t\t\t\t<<set $EDreamDonsair.animOverride = either("donsAngy","donsSeethe")>>\n\t\t\t<<endif>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t\t<<set $EDreamDonsair.Action = either("allows it...","tenses up!","leans away from your paw!","growls softly...","looks like " + $EDreamDonsair.pnRef1 + " wants to bite you.","snaps at you!","tries to bite you!","bites you!!")>>\n\t\t\t\n\t\t\t<<switch $EDreamDonsair.Action>>\n\t\t\t\t<<case "allows it...">>\n\t\t\t\t\t<<set $EDreamDonsair.Trust++; $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t\t<<case "snaps at you!" "tries to bite you!" "bites you!!">>\n\t\t\t\t\t<<set $EDreamDonsair.animOverride = either("donsAngy","donsSeethe")>>\n\t\t\t\t<<default>><<set $EDreamDonsair.animOverride = either("donsBreathe","donsAngy","donsSeethe")>>\n\t\t\t<</switch>>\n\n\t\t/% Pronoun grammar fix %/\n\t\t\t<<if $EDreamDonsair.Action eq "looks like they wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like they want to bite you.">>\n\t\t\t<<elseif $EDreamDonsair.Action eq "looks like jei wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like jei want to bite you.">><<endif>>\n\t\t<<endif>>\n\n\n/% =========={ Kiss %/\n\t<<case "actKissed">> /% Trust variants %/\t\t\t\n\t\t\t<<if $EDreamDonsair.Trust gte 30>> /% Accepting %/ <<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t\t<<set $EDreamDonsair.Trust += either(0,0,1)>>\n\t\t\t\t<<set $EDreamDonsair.Action = either("allows it...","allows it. You think " + $EDreamDonsair.pnRef1 +" looks a little bit happier...")>>\n\n\t\t\t<<elseif $EDreamDonsair.Trust gte 20>> /% Wary %/\n\t\t\t\t<<set $EDreamDonsair.Action = either("tenses up...","allows it...","allows it. You think " + $EDreamDonsair.pnRef1 +" looks a little bit happier...","grumbles at you, but doesn't fight...","makes a little indignant sound and leans away!")>>\n\n\t\t\t<<if $EDreamDonsair.Action.includes("allows it.")>>\n\t\t\t\t<<set $EDreamDonsair.Trust++; $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<else>>\n\t\t\t\t<<set $EDreamDonsair.animOverride = either("donsAngy","donsSeethe")>>\n\t\t\t<<endif>>\n\n\t\t\t<<else>> /% Mistrustful %/ <<set $EDreamDonsair.animOverride = either("donsAngy","donsSeethe")>>\n\t\t\t\t<<set $EDreamDonsair.Action = either("tenses up...","tries to bite you!","bites you!!","hisses angrily, warding you off!","snarls ferociously, warding you off!","makes a little indignant sound and leans away!")>>\n\t\t\t<<endif>>\n\n\t\t/% They pronoun grammar fix %/\n\t\t\t<<if $EDreamDonsair.Action eq "allows it. You think they looks a little bit happier...">>\n\t\t\t\t<<set $EDreamDonsair.Action = "allows it. You think they look a little bit happier...">>\n\t\t\t<<elseif $EDreamDonsair.Action eq "allows it. You think jei looks a little bit happier...">>\n\t\t\t\t<<set $EDreamDonsair.Action = "allows it. You think jei look a little bit happier...">><<endif>>\n\n\n/% =========={ Calm Down! %/\n\t<<case "actShh">> /% Trust variants %/\n\n\t\t<<if $EDreamDonsair.Trust gte 20>> /% Wary+ %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<set $EDreamDonsair.Action = either("gives a soft squeak of surprise, but quiets.")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.Action = either("looks pissed, but quiets.","looks like " + $EDreamDonsair.pnRef1 + " wants to bite you.")>>\n\t\t<<endif>>\n\n\t/% Pronoun grammar fix %/\n\t\t<<if $EDreamDonsair.Action eq "looks like they wants to bite you.">>\n\t\t\t<<set $EDreamDonsair.Action = "looks like they want to bite you.">>\n\t\t<<elseif $EDreamDonsair.Action eq "looks like jei wants to bite you.">>\n\t\t\t<<set $EDreamDonsair.Action = "looks like jei want to bite you.">><<endif>>\n\n\n/% =========={ Explore! %/\n\t<<case "actExplore">> /% Trust variants %/\n\n\t\t<<if $EDreamDonsair.Trust gte 35>> /% Accepting %/\n\t\t\t<<set $EDreamDonsair.Action = "willingly explores " + $EDreamDonsair.homeRegion + " with you!">>\n\n\t\t<<elseif $EDreamDonsair.Trust gte 20>> /% Wary %/\n\t\t\t<<set $EDreamDonsair.Action = either("begrudgingly explores " + $EDreamDonsair.homeRegion + " with you...","refusal")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.Action = either("begrudgingly explores " + $EDreamDonsair.homeRegion + " with you...","refusal","refusal")>>\n\t\t<<endif>>\t\n\n\t\t<<if $EDreamDonsair.Action eq "refusal">>\n\t\t\t<<set $EDreamDonsair.Action = either("growls when you approach with the lead!","tries to bite you!","bites you!","snarls ferociously!") + "<br>You guess you aren't going anywhere after all...">>\n\t\t<<else>> /% Explore result %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsDance">><<include ProcessExplore>>\n\t\t<<endif>>\n\n\n/% =========={ Feed %/\n\t<<case "actFed">> /% Todo - fullness variants %/ /% Trust variants %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\n\t\t<<if $EDreamDonsair.Trust gte 20>> /% Wary+ %/\n\t\t\t<<set $EDreamDonsair.Action = either("gives a little squeak of gratitude before tucking in.","eats cautiously...","eats, grumbling audibly as it chews.","eats silently.","seems to relax slightly as it focuses on its meal.","looks cautiously excited about the food.")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.Action = either("gives you a look, but approaches the food to eat.","eats cautiously, watching you the ENTIRE time.","eats, grumbling audibly as it chews.","eats silently.")>>\n\t\t<<endif>>\n\n\t\t<<if $EDreamDonsair.Trust lt 50>><<set $EDreamDonsair.Trust += either(0,1,1)>><<endif>>\n\t\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ Feed - Weird Foods %/\n\t<<case "actFedWeird">> /% Todo - fullness variants %/ /% Trust variants %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\n\t\t<<if $EDreamDonsair.Trust gte 20>> /% Wary+ %/\n\t\t\t<<set $EDreamDonsair.Action = either("eats cautiously...","pauses, eyeing the food with hesitation... but seems to accept it after a moment.","eats silently.","eyes the strange offering, then gives you a look of deep suspicion.","flat out refuses to eat it!","doesn't want to eat that..!")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.Action = either("gives you a look, but approaches the food to eat.","eats cautiously, watching you the ENTIRE time.","eats, grumbling audibly as it chews.","eyes the strange offering, then gives you a look of deep suspicion.","flat out refuses to eat it!","doesn't want to eat that..!")>>\n\t\t<<endif>>\n\n\t\t<<switch $EDreamDonsair.Action>>/% Failed feed attempt %/\n\t\t\t<<case "eyes the strange offering, then gives you a look of deep suspicion." "flat out refuses to eat it!" "doesn't want to eat that..!">>\n\t\t\t\t<<set $EDreamDonsair.animOverride = "donsAngy">>\n\t\t\t\t<<if $EDreamDonsair.Trust gt 3>><<set $EDreamDonsair.Trust -= either(0,1)>><<endif>>\n\t\t\t<<default>><<include EDX-DonsProcessFood>>\n\t\t<</switch>>\n\n\n/% =========={ Feed - Fatiere Pump %/\n\t<<case "actFedPump">> /% Todo - fullness variants %/ /% Trust variants %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\n\t\t<<if $EDreamDonsair.Trust gte 20>> /% Wary+ %/\n\t\t\t<<set $EDreamDonsair.Action = either("bites you, making you drop the hose!!","kicks and squirms at first, but settles into grudgingly drinking from the hose...","quietly lets you attach the hose to its face, and drinks with minimal grumbling...","allows you to attach the hose to its face, and drinks with minimal grumbling...">>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsAngy">>\n\t\t\t<<set $EDreamDonsair.Action = either("bites you, making you drop the hose!!","fights as you strap the hose to its face, complaining loudly between mouthfuls!","kicks and squirms at first, but settles into grudgingly drinking from the hose...")>>\n\t\t<<endif>>\n\n\t\t<<if $EDreamDonsair.Action eq "bites you, making you drop the hose!!">>/% Failed feed attempt %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsAngy">>\n\t\t\t<<if $EDreamDonsair.Trust gt 3>><<set $EDreamDonsair.Trust -= random(0,2)>><<endif>>\n\t\t<<else>><<include EDX-DonsProcessFood>>\n\t\t<<endif>>\n\n\n/% =========={ Feed - Beverages %/\n\t<<case "actFedDrink">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t<<set $EDreamDonsair.Action = either("enjoys the drink.","laps contentedly at the beverage.","gulps down the drink!","drinks eagerly, sighing in refreshed satisfaction."); $EDreamDonsair.Trust += either(0,1)>>\n\t\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ No Directive %/\n\t<<default>> /% Trust variants %/\n\n\t\t<<if $EDreamDonsair.Trust gte 35>> /% Accepting %/\n\t\t\t<<set $EDreamDonsair.Action = either("seems to be relaxing...","looks calm.","makes little noises to " + $EDreamDonsair.pnSelf + ".","fell asleep..!","gives you a soft, questioning look.","autoExplore")>>\n\n\t\t<<elseif $EDreamDonsair.Trust gte 20>> /% Wary %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t\t<<set $EDreamDonsair.Action = either("watches you closely.","sits quietly.","watches you carefully.","settles down, but keeps their eye on you...")>>\n\n\t\t<<else>> /% Mistrustful %/\n\t\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","")>>\n\t\t\t<<set $EDreamDonsair.Action = either("ignores you.","looks annoyed...","glances at you and sighs...","looks like " + $EDreamDonsair.pnRef1 + " wants to bite you.","watches you carefully.","settles down, but keeps their eye on you...")>>\n\t\t<<endif>>\n\t\t/% Pronoun grammar fix %/\n\t\t\t<<if $EDreamDonsair.Action eq "looks like they wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like they want to bite you.">>\n\t\t\t<<elseif $EDreamDonsair.Action eq "looks like jei wants to bite you.">>\n\t\t\t\t<<set $EDreamDonsair.Action = "looks like jei want to bite you.">><<endif>>\n\n\n<</switch>>
// Hotkeys\n//====================================================================\n \n(function() { \n//===========================\n//==================================================================== \t\t\n\tdocument.onkeyup=function(e){ var e = e || window.event;\n//==================================================================== \n\t\n// W\n\t\tif(e.which === 87) { if(document.getElementById("navW") != null) { \t\t\n\t\t\tdocument.getElementById("navW").click();}}\t\t\t\t\n// A\n\t\tif(e.which === 65) { if(document.getElementById("navA") != null) { \t\t\n\t\t\tdocument.getElementById("navA").click();}}\t\t\t\t\n// S\n\t\tif(e.which === 83) { if(document.getElementById("navS") != null) {\t\t\n\t\t\tdocument.getElementById("navS").click();}}\t\t\t\t\t\t\n// D\n\t\tif(e.which === 68) { if(document.getElementById("navD") != null) {\t\t\n\t\t\tdocument.getElementById("navD").click();}}\t\t\t\t\t\t\n// F\n\t\tif(e.which === 70) { if(document.getElementById("navF") != null) {\t\t\n\t\t\tdocument.getElementById("navF").click();}}\t\n// B\n\t\tif(e.which === 66) { if(document.getElementById("navB") != null) {\t\t\n\t\t\tdocument.getElementById("navB").click();}}\t\t\n// C\n\t\tif(e.which === 67) { if(document.getElementById("navC") != null) {\t\t\n\t\t\tdocument.getElementById("navC").click();}}\t\t\t\t\t\t\n// E\n\t\tif(e.which === 69) { if(document.getElementById("navE") != null) {\t\t\n\t\t\tdocument.getElementById("navE").click();}}\t\t\t\t\t\t\t\n// G\n\t\tif(e.which === 71) { if(document.getElementById("navG") != null) {\t\t\n\t\t\tdocument.getElementById("navG").click();}}\t\t\t\t\t\n// H\n\t\tif(e.which === 72) { if(document.getElementById("navH") != null) {\t\t\n\t\t\tdocument.getElementById("navH").click();}}\t\t\t\t\t\t\n// I\n\t\tif(e.which === 73) { if(document.getElementById("navI") != null) {\t\t\n\t\t\tdocument.getElementById("navI").click();}}\t\t\t\t\t\t\t\n// J\n\t\tif(e.which === 74) { if(document.getElementById("navJ") != null) {\t\t\n\t\t\tdocument.getElementById("navJ").click();}}\t\t\t\t\t\t\t\n// K\n\t\tif(e.which === 75) { if(document.getElementById("navK") != null) {\t\t\n\t\t\tdocument.getElementById("navK").click();}}\t\t\t\t\t\t\t\t\n// L\n\t\tif(e.which === 76) { if(document.getElementById("navL") != null) {\t\t\n\t\t\tdocument.getElementById("navL").click();}}\t\t\t\t\t\t\n// M\n\t\tif(e.which === 77) { if(document.getElementById("navM") != null) {\t\t\n\t\t\tdocument.getElementById("navM").click();}}\t\t\t\n// N\n\t\tif(e.which === 78) { if(document.getElementById("navN") != null) {\t\t\n\t\t\tdocument.getElementById("navN").click();}}\t\t\t\t\t\t\t\n// O\n\t\tif(e.which === 79) { if(document.getElementById("navO") != null) {\t\t\n\t\t\tdocument.getElementById("navO").click();}}\t\t\t\t\t\t\t\n// P\n\t\tif(e.which === 80) { if(document.getElementById("navP") != null) {\t\t\n\t\t\tdocument.getElementById("navP").click();}}\t\t\t\t\t\t\n// Q\n\t\tif(e.which === 81) { if(document.getElementById("navQ") != null) {\t\t\n\t\t\tdocument.getElementById("navQ").click();}}\t\n// R\n\t\tif(e.which === 82) { if(document.getElementById("navR") != null) {\t\t\n\t\t\tdocument.getElementById("navR").click();}}\t\n// T\n\t\tif(e.which === 84) { if(document.getElementById("navT") != null) {\t\t\n\t\t\tdocument.getElementById("navT").click();}}\t\n// U\n\t\tif(e.which === 85) { if(document.getElementById("navU") != null) {\t\t\n\t\t\tdocument.getElementById("navU").click();}}\t\n// V\n\t\tif(e.which === 86) { if(document.getElementById("navV") != null) {\t\t\n\t\t\tdocument.getElementById("navV").click();}}\t\t\t\t\t\n// X\n\t\tif(e.which === 88) { if(document.getElementById("navX") != null) {\t\t\n\t\t\tdocument.getElementById("navX").click();}}\t\n// Y\n\t\tif(e.which === 89) { if(document.getElementById("navY") != null) {\t\t\n\t\t\tdocument.getElementById("navY").click();}}\t\n// Z\n\t\tif(e.which === 90) { if(document.getElementById("navZ") != null) {\t\t\n\t\t\tdocument.getElementById("navZ").click();}}\t\n\t\t\t\n\n//==================================================================== \n//Numerical\n\t\n// 0\n\t\tif(e.which === 48) { if(document.getElementById("nav0") != null) {\t\t\n\t\t\tdocument.getElementById("nav0").click();}}\t\t\t\n\n// 1\n\t\tif(e.which === 49) { if(document.getElementById("nav1") != null) {\t\t\n\t\t\tdocument.getElementById("nav1").click();}}\t\t\t\t\n\t\t\t\t\t\n// 2\n\t\tif(e.which === 50) { if(document.getElementById("nav2") != null) {\t\t\n\t\t\tdocument.getElementById("nav2").click();}}\t\t\t\n\n// 3\n\t\tif(e.which === 51) { if(document.getElementById("nav3") != null) {\t\t\n\t\t\tdocument.getElementById("nav3").click();}}\t\t\t\n\n// 4\n\t\tif(e.which === 52) { if(document.getElementById("nav4") != null) {\t\t\n\t\t\tdocument.getElementById("nav4").click();}}\t\t\t\n\n// 5\n\t\tif(e.which === 53) { if(document.getElementById("nav5") != null) {\t\t\n\t\t\tdocument.getElementById("nav5").click();}}\t\t\t\t\n\t\t\t\t\t\n// 6\n\t\tif(e.which === 54) { if(document.getElementById("nav6") != null) {\t\t\n\t\t\tdocument.getElementById("nav6").click();}}\t\t\t\n// 7\n\t\tif(e.which === 55) { if(document.getElementById("nav7") != null) {\t\t\n\t\t\tdocument.getElementById("nav7").click();}}\t\t\t\t\n\t\t\t\t\t\n// 8\n\t\tif(e.which === 56) { if(document.getElementById("nav8") != null) {\t\t\n\t\t\tdocument.getElementById("nav8").click();}}\t\t\t\n\n// 9\n\t\tif(e.which === 57) { if(document.getElementById("nav9") != null) {\t\t\n\t\t\tdocument.getElementById("nav9").click();}}\t\t\t\n\n\n\n\n//==================================================================== \n\t\t\t}}());\n//==================================================================== \n//==================================================================== \n
/% Actions - Happy/Cheerful %/\n<<switch $EDreamDonsair.Action>>\n/% =========={ Greeting %/\n\t<<case "actGreet">>\n\t\t<<set $EDreamDonsair.Action = either("inclines its head in slight greeting to you.","gives a little trill of greeting.")>>\n\n\n/% =========={ Idling/Autonomous %/\n\t<<case "actIdleLiving">>\n\t\t<<set $EDreamDonsair.Action = either("seems to be relaxing...","looks calm.","squeaks at you!","makes little noises to " + $EDreamDonsair.pnSelf + ".","fell asleep..!","autoExplore")>>\n\t\t<<if $EDreamDonsair.Action eq "fell asleep..!">><<set $EDreamDonsair.animOverride = "donsBreathe"; $EDreamDonsair.asleep = 1>>\n\t\t<<elseif $EDreamDonsair.Action eq "autoExplore">><<set $EDreamDonsair.animOverride = "donsBounce">>\n\t\t\t<<set $EDreamDonsair.Action = "went off exploring " + $EDreamDonsair.homeRegion + " on " + $EDreamDonsair.pnPos + " own, and returned home with [thing xQt] for you!">>\t\t\t\t\t\n\t\t\t<<endif>>\n\n\n/% =========={ Pet/Groom %/\n\t<<case "actPetted" "actGroomed">>\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","donsDance","donsStretch")>>\n\t\t<<set $EDreamDonsair.Action = either("purrs contentedly...","purrs brightly!","purrs happily!","purrs LOUDLY!","squiggles joyfully under your paw!","leans into your touch!")>>\n\n/% =========={ Kiss %/\n\t<<case "actKissed">>\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsBreathe","donsDance","donsStretch")>>\n\t\t<<set $EDreamDonsair.Action = either("squeals in delight!!","squeaks in delight!!","purrs happily!","purrs LOUDLY!","kisses you back!!")>>\n\n/% =========={ Calm Down! %/\n\t<<case "actShh">>\n\t\t<<set $EDreamDonsair.Action = either("takes a deep breath and calms " + $EDreamDonsair.pnSelf + " for you...","stops squiggling around.","stops squiggling around, and bleps.")>>\n\n\n/% =========={ Explore! %/\n\t<<case "actExplore">>\n\t\t<<set $EDreamDonsair.animOverride = "donsDance">>\n\t\t<<set $EDreamDonsair.Action = "explores " + $EDreamDonsair.homeRegion + " with you!">>\n\t/% Explore result %/<<include EDX-DonsProcessExplore>>\n\n/% =========={ Feed %/\n\t<<case "actFed">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = "donsDance">>\n\t\t<<set $EDreamDonsair.Action = either("gives a little squeak of happy excitement, and eats!","rushes to enjoy its meal!","gives a squeak of gratitude before tucking in!","eats VORACIOUSLY!","inhales its food with little fanfare!")>>\n\t\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ Feed - Weird Foods %/\n\t<<case "actFedWeird">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = "donsBreathe">>\n\t\t<<set $EDreamDonsair.Action = either("pauses for a moment to consider your offering, before... consuming it...","sniffs with hesitation at the food you've brought it, but then eats it after all.","doesn't seem convinced by the food, but finally eats...","gives you a look, then consumes the offering.","doesn't want to eat that..!")>>\n\n\t\t<<if $EDreamDonsair.Action eq "doesn't want to eat that..!">>/% Failed feed attempt %/\n\t\t\t<<set $EDreamDonsair.animOverride = "donsAngy">>\n\t\t<<else>><<include EDX-DonsProcessFood>>\n\t\t<<endif>>\n\n\n/% =========={ Feed - Fatiere Pump %/\n\t<<case "actFedPump">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.Action = either("squeaks in surprise as you feed it from the Fatiere Pump!","squiggles on the pump, its cheeks puffing full!","gulps the slurry down as quickly as it can manage!","squirms at first, but settles into placidly drinking from the hose...","closes its eyes, drinking quietly...")>>\n\t\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ Feed - Beverages %/\n\t<<case "actFedDrink">> /% Todo - fullness variants %/\n\t\t<<set $EDreamDonsair.animOverride = either("donsBreathe","donsDance")>>\n\t\t<<set $EDreamDonsair.Action = either("enjoys the drink!","laps contentedly at the beverage.","agreeably gulps down the drink!","drinks eagerly, sighing in refreshed satisfaction.")>>\n\t\t<<include EDX-DonsProcessFood>>\n\n\n/% =========={ No Directive %/\n\t\t<<default>>\n\t\t\t\t<<set $EDreamDonsair.Action = either("seems to be relaxing...","looks calm.","squeaks at you!","makes little noises to " + $EDreamDonsair.pnSelf + ".")>>\n\n<</switch>>
/% Make sure the Donsair tray is set up %/\n<<include EDX-DonsairSetup>>\n\n/% Load the active donsair %/\n<<set $EDXDonsair = $EDreamDonsDNA>>\n<<set $EDXDonsair.baseMood = $EDreamDonsair.baseMood; $EDXDonsair.img = $EDreamDonsair.img; $EDXDonsair.Trust = $EDreamDonsair.Trust>>\n\n/% Create Serialization tray %/\n<<set $EDXDonsSerial = $EDXDonsair; $EDXDonsSerial.output = "">>\n\n/% Serialize %/\n\n<<set _baseSpec = "spec:" + $EDreamDonsair.Species + " ">>\n<<set _baseSubspec = "subspec:" + $EDreamDonsair.Subspec + " ">>\n<<set _basePers = "pers:" + $EDreamDonsair.baseMood + " ">>\n<<set _baseImg = "img:" + $EDreamDonsair.img + " ">>\n<<set $EDXDonsSerial.output += _baseSpec + _baseSubspec + _basePers + _baseImg>>\n\n<<set _statVit = "vit:" + $EDXDonsair.vit + " ">>\n<<set _statArm = "arm:" + $EDXDonsair.arm + " ">>\n<<set _statStr = "str:" + $EDXDonsair.str + " ">>\n<<set _statWill = "will:" + $EDXDonsair.will + " ">>\n<<set _statFin = "fin:" + $EDXDonsair.fin + " ">>\n<<set _statPerc = "perc:" + $EDXDonsair.perc + " ">>\n<<set _statWhim = "whim:" + $EDXDonsair.whim + " ">>\n<<set _statSan = "san:" + $EDXDonsair.san + " ">>\n\n<<set $EDXDonsSerial.output += _statVit + _statArm + _statStr + _statWill + _statFin + _statPerc + _statWhim + _statSan>>\n\n<<set _scaleBType = "bType:" + $EDXDonsair.bType + " ">>\n<<set _scaleChest = "chest:" + $EDXDonsair.chest + " ">>\n<<set _scaleBelly = "belly:" + $EDXDonsair.belly + " ">>\n<<set _scaleBody = "body:" + $EDXDonsair.body + " ">>\n<<set _scaleLimbs = "limbs:" + $EDXDonsair.limbs + " ">>\n<<set _scaleThigh = "thigh:" + $EDXDonsair.thigh + " ">>\n<<set _scaleTail = "tail:" + $EDXDonsair.tail + " ">>\n\n<<set _metaGain = "gain:" + $EDXDonsair.gain + " ">>\n<<set _metaStockX = "stockX:" + $EDXDonsair.stockX + " ">>\n<<set _metaStretch = "stretch:" + $EDXDonsair.stretch + " ">>\n\n<<set $EDXDonsSerial.output += _scaleBType + _scaleChest + _scaleBelly + _scaleBody + _scaleLimbs + _scaleThigh + _scaleTail + _metaGain + _metaStockX + _metaStretch>>\n\n<<set _prodEggType = "eggType:" + $EDXDonsair.eggType + " ">>\n<<set _prodMilkType = "milkType:" + $EDXDonsair.milkType + " ">>\n<<set _prodVenomType = "venomType:" + $EDXDonsair.venomType + " ">>\n<<set _prodClutchRate = "clutchRate:" + $EDXDonsair.clutchRate + " ">>\n<<set _prodMilkRate = "milkRate:" + $EDXDonsair.milkRate + " ">>\n<<set _prodMilkfat = "milkfat:" + $EDXDonsair.milkfat + " ">>\n<<set _prodVenomRate = "venomRate:" + $EDXDonsair.venomRate + " ">>\n\n<<set $EDXDonsSerial.output += _prodEggType + _prodMilkType + _prodVenomType + _prodClutchRate + _prodMilkRate + _prodMilkfat + _prodVenomRate>>\n\n<<set _colorBaseColor = "baseColor:" + $EDXDonsair.baseColor + " ">>\n<<set _colorBaseDilute = "baseDilute:" + $EDXDonsair.baseDilute + " ">>\n<<set _colorBellyColor = "bellyColor:" + $EDXDonsair.bellyColor + " ">>\n<<set _colorBellyDilute = "bellyDilute:" + $EDXDonsair.bellyDilute + " ">>\n<<set _colorCompColor = "compColor:" + $EDXDonsair.compColor + " ">>\n<<set _colorCompDilute = "compDilute:" + $EDXDonsair.compDilute + " ">>\n<<set _colorMarkColor = "markColor:" + $EDXDonsair.markColor + " ">>\n<<set _colorMarkDilute = "markDilute:" + $EDXDonsair.markDilute + " ">>\n<<set _colorPatPres = "patPres:" + $EDXDonsair.patPres + " ">>\n<<set _colorWhiteSpot = "whiteSpot:" + $EDXDonsair.whiteSpot + " ">>\n<<set _colorGrey = "grey:" + $EDXDonsair.Grey + " ">>\n<<set _colorFreckle = "freckle:" + $EDXDonsair.Freckle + " ">>\n<<set _colorGradient = "gradient:" + $EDXDonsair.Gradient + " ">>\n<<set _colorFiligree = "filigree:" + $EDXDonsair.Filigree + " ">>\n<<set _colorHarlequin = "harlequin:" + $EDXDonsair.Harlequin + " ">>\n<<set _colorStripe = "stripe:" + $EDXDonsair.Stripe + " ">>\n<<set _colorInk = "ink:" + $EDXDonsair.Ink + " ">>\n<<set _colorAnomaly = "anomaly:" + $EDXDonsair.Anomaly + " ">>\n\n<<set $EDXDonsSerial.output += _colorBaseColor + _colorBaseDilute + _colorBellyColor + _colorBellyDilute + _colorCompColor + _colorCompDilute + _colorMarkColor + _colorMarkDilute + _colorPatPres + _colorWhiteSpot + _colorGrey + _colorFreckle + _colorGradient + _colorFiligree + _colorHarlequin + _colorStripe + _colorInk + _colorAnomaly>>\n\n<<set _phenoEar = "phnEar:" + $EDXDonsair.phnEar + " ">>\n<<set _phenoSnoot = "phnSnoot:" + $EDXDonsair.phnSnoot + " ">>\n<<set _phenoEye = "phnEye:" + $EDXDonsair.phnEye + " ">>\n<<set _phenoPupil = "phnPupil:" + $EDXDonsair.phnPupil + " ">>\n<<set _phenoHeadDeco = "phnHeadDeco:" + $EDXDonsair.phnHeadDeco + " ">>\n<<set _phenoRbien = "phnRbien:" + $EDXDonsair.phnRbien + " ">>\n<<set _phenoTeeth = "phnTeeth:" + $EDXDonsair.phnTeeth + " ">>\n<<set _phenoPaw = "phnPaw:" + $EDXDonsair.phnPaw + " ">>\n<<set _phenoLimb = "phnLimb:" + $EDXDonsair.phnLimb + " ">>\n<<set _phenoBean = "phnBean:" + $EDXDonsair.phnBean + " ">>\n<<set _phenoScale = "phnScale:" + $EDXDonsair.phnScale + " ">>\n<<set _phenoBelly = "phnBelly:" + $EDXDonsair.phnBelly + " ">>\n<<set _phenoSpine = "phnSpine:" + $EDXDonsair.phnSpine + " ">>\n<<set _phenoTail = "phnTail:" + $EDXDonsair.phnTail + " ">>\n<<set _phenoWing = "phnWing:" + $EDXDonsair.phnWing + " ">>\n<<set _phenoTheme = "phnTheme:" + $EDXDonsair.phnTheme + " ">>\n\n<<set $EDXDonsSerial.output += _phenoEar + _phenoSnoot + _phenoEye + _phenoPupil + _phenoHeadDeco + _phenoRbien + _phenoTeeth + _phenoPaw + _phenoLimb + _phenoBean + _phenoScale + _phenoBelly + _phenoSpine + _phenoTail + _phenoWing + _phenoTheme>>\n\n<<if $EDXDonsair.Mutations.includes("viviere")>><<set $EDXDonsSerial.output += "mutViviere:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("ovian")>><<set $EDXDonsSerial.output += "mutOvian:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("slime")>><<set $EDXDonsSerial.output += "mutSlime:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("pudding")>><<set $EDXDonsSerial.output += "mutPudding:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("balloon")>><<set $EDXDonsSerial.output += "mutBalloon:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("plushie")>><<set $EDXDonsSerial.output += "mutPlushie:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("adiposa")>><<set $EDXDonsSerial.output += "mutAdiposa:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("confection")>><<set $EDXDonsSerial.output += "mutConfection:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("epicurean")>><<set $EDXDonsSerial.output += "mutEpicurean:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("evian")>><<set $EDXDonsSerial.output += "mutEvian:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("honeypot")>><<set $EDXDonsSerial.output += "mutHoneypot:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("greenhouse")>><<set $EDXDonsSerial.output += "mutGreenhouse:1 ">><<endif>>\n<<if $EDXDonsair.Mutations.includes("rosebelly")>><<set $EDXDonsSerial.output += "mutRosebelly:1 ">><<endif>>\n\n<<if $EDXDonsair.TFs.includes("fyynmorph")>><<set $EDXDonsSerial.output += "tfFyynmorph:" + $EDXDonsair.tfFyynmorph + " ">><<endif>>\n<<if $EDXDonsair.TFs.includes("omniphage")>><<set $EDXDonsSerial.output += "tfOmniphage:" + $EDXDonsair.tfOmniphage + " ">><<endif>>\n<<if $EDXDonsair.TFs.includes("realization")>><<set $EDXDonsSerial.output += "tfRealization:" + $EDXDonsair.tfRealization + " ">><<endif>>\n<<if $EDXDonsair.TFs.includes("mirlait")>><<set $EDXDonsSerial.output += "tfMirlait:" + $EDXDonsair.tfMirlait + " ">><<endif>>\n\n\n\n\n
<<switch $EDreamDonsair.homeRegion>>\n\t/% Regional Foodways %/\n\t<<case "Chimre">>\n\n\t\t<<button "Pastry Puffs" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "PastryPuffs"; $EDreamDonsair.Action = "actFed">><</button>>\n\t\t<<button "Smothered Omniphagian Roast" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "OmniRoast"; $EDreamDonsair.Action = "actFed">><</button>>\n\t\t<<button "Five-Course Feast!" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "FiveFeast"; $EDreamDonsair.Action = "actFed">><</button>>\n\t\t<<button "Shimmering Fragrant" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "ShimmerFragrant"; $EDreamDonsair.Action = "actFedDrink">><</button>>\n\t\t<<button "Grand Snowberry Gala Cake" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "GalaCake"; $EDreamDonsair.Action = "actFed">><</button>>\n\t\t<<button "The Pump" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "FatierePump"; $EDreamDonsair.Action = "actFedPump">><</button>>\n\n\t<<case "Dreamsong">>\n\n\t\t<<button "Broiled Spinestalk" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "BroiledSpinestalk"; $EDreamDonsair.Action = "actFed">><</button>>\n\t\t<<button "Faerwise Cavy Roast" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "CavyRoast"; $EDreamDonsair.Action = "actFed">><</button>>\n\t\t<<button "Fresh Venison Steak" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "VenisonSteak"; $EDreamDonsair.Action = "actFed">><</button>>\n\t\t<<button "Flaskberry Muddle" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "FlaskberryMuddle"; $EDreamDonsair.Action = "actFedDrink">><</button>>\n\t\t<<button "Cheerful Menagerie Gummies" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "MenagerieGummies"; $EDreamDonsair.Action = "actFed">><</button>>\n\n\t<<case "Moongarden">>\n\n\t\t<<button "Starlight Sunsalad" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "StarlightSunsalad"; $EDreamDonsair.Action = "actFed">><</button>>\n\t\t<<button "Springpaw Soup Dumplings" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "SoupDumplings"; $EDreamDonsair.Action = "actFed">><</button>>\n\t\t<<button "Barbecued Sunhawk Platter" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "SunhawkPlatter"; $EDreamDonsair.Action = "actFed">><</button>>\n\t\t<<button "Lynx... Milk" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "LynxMilk"; $EDreamDonsair.Action = "actFedDrink">><</button>>\n\t\t<<button "Suntouched Wine Cooler" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "WineCooler"; $EDreamDonsair.Action = "actFedDrink">><</button>>\n\t\t<<button "Writhing Lake Sample" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "LakeSample"; $EDreamDonsair.Action = "actFedWeird">><</button>>\n\t\t<<button "Candied Rose and Stonefruit Galette" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "StonefruitGalette"; $EDreamDonsair.Action = "actFed">><</button>>\n\n<</switch>>\n/% Generic Foods %/\n\n\t<<button "Tantalizing Morsel" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "MorselTreat"; $EDreamDonsair.Action = "actFed">><</button>>\n\t<<button "Roasted Spiced Yam" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "SpicedYam"; $EDreamDonsair.Action = "actFed">><</button>>\n\t<<button "Emerald Filet" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "EmeraldFilet"; $EDreamDonsair.Action = "actFed">><</button>>\n\t<<button "Sparkling Water" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "SparklingWater"; $EDreamDonsair.Action = "actFedDrink">><</button>>\n\t<<button "Glimmerstone Pear" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.Fed = "GlimmerstonePear"; $EDreamDonsair.Action = "actFed">><</button>>\n\n
<<set $EDXDonsairClean = {\n\tvit: 0, arm: 0, str: 0, will: 0, fin: 0, perc: 0, whim: 0, san: 0,\n\tchest: 0, belly: 0, body: 0, limbs: 0, thigh: 0, tail: 0,\n\tgain: 0, stretch: 0, stockX: 0,\n\tbType: "",\n\n\teggType: "", milkType: "", venomType: "",\n\teggs: "", milk: "", venom: "",\n\tclutchRate: 0, milkRate: 0, milkfat: 0, venomRate: 0,\n\n\tbaseColor: "", baseDilute: "",\n\tbellyColor: "", bellyDilute: "",\n\tcompColor: "", compDilute: "",\n\tmarkColor: "", markDilute: "",\n\tpatPres: "",\n\twhiteSpot: "", Grey: "",\n\tFreckle: "", Gradient: "",\n\tFiligree: "", Harlequin: "",\n\tStripe: "", Ink: "",\n\tAnomaly: "",\n\n\tphnEar: "", phnSnoot: "", \n\tphnEye: "", phnPupil: "",\n\tphnHeadDeco: "", phnRbien: "", phnTeeth: "",\n\tphnPaw: "", phnLimb: "", \n\tphnBean: "", phnScale: "",\n\tphnBelly: "", phnSpine: "", phnTail: "",\n\tphnWing: "", phnTheme: "",\n\n\tMutations: [], TFs: [],\n\tmutViviere: 0, mutOvian: 0,\n\tmutSlime: 0, mutPudding: 0,\n\tmutBalloon: 0, mutPlushie: 0,\n\tmutAdiposa: 0, mutConfection: 0,\n\tmutEpicurean: 0, mutEvian: 0,\n\tmutHoneypot: 0, mutGreenhouse: 0,\n\tmutRosebelly: 0,\n\n\ttfRealization: 0, tfFyynmorph: 0,\n\ttfOmniphage: 0, tfMirlait: 0,\n\n}>>\n\n<<set $EDXDonsair = $EDXDonsairClean>>\n\n/% Prep trays for breeding %/\n<<set $EDXProgen1 = $EDXDonsair>>\n\t<<set $EDXProgen1.Name = "PH">>\n\n<<set $EDXProgen2 = $EDXProgen1>>\n<<set $EDXOffspring = $EDXProgen1>>
/% Gueggy Gene Loci %/\n\n/% Ears, Eyes, Snoot %/\n\t<<set _earPool = ["EAs","EAf","EAe","EAr","EAbt","EAb","EAl","EAlp","EAw","EAsq"]>>\n\t<<set $EDreamDonsDNA.phnEar = _earPool.random() + _earPool.random()>>\n\n\t<<set _eyePool = ["EYs","EYm","EYx"]>>\n\t<<set $EDreamDonsDNA.phnEye = _eyePool.random() + _eyePool.random()>>\n\n\t<<set _pupilPool = ["PLr","PLs","PLh","PLsq","PLx","PLsy"]>>\n\t<<set $EDreamDonsDNA.phnPupil = _pupilPool.random() + _pupilPool.random()>>\n\n\t<<set _snootPool = ["SNb","SNp","SNbk","SNf","SNc","SNcr","SNrx","SNt","SNex","SNsp","SNbv","SNn","SNx","SNsc"]>>\n\t<<set $EDreamDonsDNA.phnSnoot = _snootPool.random() + _snootPool.random()>>\n\n/% --------------- %/\n/% Head Decoration, Rierbien, Teeth %/\n\t<<set _headPool = ["HDx","HDh","HDa","HDat","HDnh","HDf","HDs","HDw","HDd","HDc","HDtn","HDft","HDo","HDfr","HDl","HDHD"]>>\n\t<<set $EDreamDonsDNA.phnHeadDeco = _headPool.random() + _headPool.random()>>\n\n\t<<set _bienPool = ["RBp","RBs","RBb","RBtv","RBm","RBg","RBf","RBo","RBc"]>>\n\t<<set $EDreamDonsDNA.phnRbien = _bienPool.random() + _bienPool.random()>>\n\n\t<<set _teethPool = ["THs","THo","THb","THn","THs","THp","THl","THj","THbk","THx"]>>\n\t<<set $EDreamDonsDNA.phnTeeth = _teethPool.random() + _teethPool.random()>>\n\n/% --------------- %/\n/% Limbs, Beans, Scales, Belly %/\n\t<<set _pawPool = ["PAcl","PAct","PAs","PAg","PAw","PAf","PAh","PAb","PAfl","PAm","PAgh","PArt","PAtn"]>>\n\t<<set $EDreamDonsDNA.phnPaw = _pawPool.random() + _pawPool.random()>>\n\n\t<<set _limbPool = ["LBf","LBt","LBm"]>>\n\t<<set $EDreamDonsDNA.phnLimb = _limbPool.random() + _limbPool.random()>>\n\n\t<<set _beanPool = ["BAh","BAr","BAs","BAx"]>>\n\t<<set $EDreamDonsDNA.phnBean = _beanPool.random() + _beanPool.random()>>\n\n\t<<set _scalePool = ["SCs","SCx","SCt","SCsh","SCpb","SCf","SCfr","SCw","SCd","SCbt","SCfl","SCth","SCsk","SCb","SCc"]>>\n\t<<set $EDreamDonsDNA.phnScale = _scalePool.random() + _scalePool.random()>>\n\n\t<<set _bellyPool = ["BEs","BEg","BEc","BEf","BEfe","BEed","BEsc","BEm"]>>\n\t<<set $EDreamDonsDNA.phnBelly = _bellyPool.random() + _bellyPool.random()>>\n\n/% --------------- %/\n/% Spine, Tail, Wings, Theme %/\n\t<<set _spinePool = ["SPs","SPs","SPb","SPl","SPlo","SPd","SPfn","SPdf","SPft","SPm","SPe","SPc"]>>\n\t<<set $EDreamDonsDNA.phnSpine = _spinePool.random() + _spinePool.random()>>\n\n\t<<set _tailPool = ["TAt","TAw","TAn","TAf","TAsq","TAm","TAg","TAb","TAc","TAcl","TAfk","TAfn","TAs","TAp","TAi","TAed","TAmt","TAph"]>>\n\t<<set $EDreamDonsDNA.phnTail = _tailPool.random() + _tailPool.random()>>\n\n\t<<set _wingPool = ["WNx","WNx","WNx","WNx","WNx","WNf","WNw","WNp","WNi","WNe","WNb"]>>\n\t<<set $EDreamDonsDNA.phnWing = _wingPool.random() + _wingPool.random()>>\n\n\t<<set _themePool = ["THx","THc","THcf","THd","THm","THe","THb","THa","THg","THdt","THcr"]>>\n\t<<set $EDreamDonsDNA.phnTheme = _themePool.random() + _themePool.random()>>\n\n\n
<<switch $EDreamLiveDons.bType>>\n\t<<case "chest">>\n\t\t<<set _fatten = random(1,8)>>\n\t\t<<switch _fatten>>\n\t\t\t<<case 1 2>>\n\t\t\t\t<<set $EDreamDonsair.body += $EDreamDonsair.gain>>\n\n\t\t\t<<case 3>>\n\t\t\t\t<<if $EDreamDonsDNA.belly gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.belly += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 4>>\n\t\t\t\t<<if $EDreamDonsDNA.thigh gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.thigh += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 5>>\n\t\t\t\t<<if $EDreamDonsDNA.tail gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.tail += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 6>>\n\t\t\t\t<<if $EDreamDonsDNA.limbs gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.limbs += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\n\t\t\t<<default>>\n\t\t\t\t<<if $EDreamDonsDNA.chest gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.chest += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\t\t\t<</switch>>\n\n\t<<case "belly">>\n\t\t<<set _fatten = random(1,8)>>\n\t\t<<switch _fatten>>\n\t\t\t<<case 1 2>>\n\t\t\t\t<<set $EDreamDonsair.body += $EDreamDonsair.gain>>\n\n\t\t\t<<case 3>>\n\t\t\t\t<<if $EDreamDonsDNA.chest gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.chest += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 4>>\n\t\t\t\t<<if $EDreamDonsDNA.thigh gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.thigh += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 5>>\n\t\t\t\t<<if $EDreamDonsDNA.tail gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.tail += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 6>>\n\t\t\t\t<<if $EDreamDonsDNA.limbs gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.limbs += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\n\t\t\t<<default>>\n\t\t\t\t<<if $EDreamDonsDNA.belly gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.belly += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\t\t\t<</switch>>\n\n\t<<case "thighs">>\n\t\t<<set _fatten = random(1,8)>>\n\t\t<<switch _fatten>>\n\t\t\t<<case 1 2>>\n\t\t\t\t<<set $EDreamDonsair.body += $EDreamDonsair.gain>>\n\n\t\t\t<<case 3>>\n\t\t\t\t<<if $EDreamDonsDNA.chest gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.chest += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 4>>\n\t\t\t\t<<if $EDreamDonsDNA.belly gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.belly += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 5>>\n\t\t\t\t<<if $EDreamDonsDNA.tail gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.tail += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 6>>\n\t\t\t\t<<if $EDreamDonsDNA.limbs gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.limbs += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\n\t\t\t<<default>>\n\t\t\t\t<<if $EDreamDonsDNA.thigh gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.thigh += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\t\t\t<</switch>>\n\n\t<<case "tail">>\n\t\t<<set _fatten = random(1,8)>>\n\t\t<<switch _fatten>>\n\t\t\t<<case 1 2>>\n\t\t\t\t<<set $EDreamDonsair.body += $EDreamDonsair.gain>>\n\n\t\t\t<<case 3>>\n\t\t\t\t<<if $EDreamDonsDNA.chest gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.chest += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 4>>\n\t\t\t\t<<if $EDreamDonsDNA.belly gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.belly += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 5>>\n\t\t\t\t<<if $EDreamDonsDNA.thigh gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.thigh += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 6>>\n\t\t\t\t<<if $EDreamDonsDNA.limbs gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.limbs += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\n\t\t\t<<default>>\n\t\t\t\t<<if $EDreamDonsDNA.tail gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.tail += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\t\t\t<</switch>>\n\n\t<<case "hourglass">>\n\t\t<<set _fatten = random(1,8)>>\n\t\t<<switch _fatten>>\n\t\t\t<<case 1>>\n\t\t\t\t<<set $EDreamDonsair.body += $EDreamDonsair.gain>>\n\n\t\t\t<<case 2>>\n\t\t\t\t<<if $EDreamDonsDNA.belly gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.belly += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 3>>\n\t\t\t\t<<if $EDreamDonsDNA.limbs gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.limbs += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\n\n\t\t\t<<case 4>>\n\t\t\t\t<<if $EDreamDonsDNA.tail gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.tail += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\t\n\n\t\t\t<<default>>\n\t\t\t\t<<if $EDreamDonsDNA.chest gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.chest += ($EDreamDonsair.gain * 0.5).toFixed(1)>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += ($EDreamDonsair.gain * 0.5).toFixed(1)>><<endif>>\t\n\t\t\t\t<<if $EDreamDonsDNA.thigh gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.thigh += ($EDreamDonsair.gain * 0.5).toFixed(1)>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += ($EDreamDonsair.gain * 0.5).toFixed(1)>><<endif>>\t\t\t\n\t\t\t<</switch>>\n\n\t<<case "round">>\n\t\t<<set _fatten = random(1,8)>>\n\t\t<<switch _fatten>>\n\t\t\t<<case 1>>\n\t\t\t\t<<set $EDreamDonsair.body += $EDreamDonsair.gain>>\n\n\t\t\t<<case 2>>\n\t\t\t\t<<if $EDreamDonsDNA.thigh gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.thigh += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 3>>\n\t\t\t\t<<if $EDreamDonsDNA.limbs gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.limbs += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\n\n\t\t\t<<case 4>>\n\t\t\t\t<<if $EDreamDonsDNA.tail gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.tail += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\t\t\n\n\t\t\t<<default>>\n\t\t\t\t<<if $EDreamDonsDNA.chest gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.chest += ($EDreamDonsair.gain * 0.5).toFixed(1)>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += ($EDreamDonsair.gain * 0.5).toFixed(1)>><<endif>>\t\n\t\t\t\t<<if $EDreamDonsDNA.belly gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.belly += ($EDreamDonsair.gain * 0.5).toFixed(1)>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += ($EDreamDonsair.gain * 0.5).toFixed(1)>><<endif>>\t\t\t\n\t\t\t<</switch>>\n\n\t<<case "pear">>\n\t\t<<set _fatten = random(1,8)>>\n\t\t<<switch _fatten>>\n\t\t\t<<case 1>>\n\t\t\t\t<<set $EDreamDonsair.body += $EDreamDonsair.gain>>\n\n\t\t\t<<case 2>>\n\t\t\t\t<<if $EDreamDonsDNA.chest gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.chest += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\n\n\t\t\t<<case 3>>\n\t\t\t\t<<if $EDreamDonsDNA.limbs gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.limbs += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\n\n\t\t\t<<case 4>>\n\t\t\t\t<<if $EDreamDonsDNA.tail gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.tail += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\n\t\t\t<<default>>\n\t\t\t\t<<if $EDreamDonsDNA.belly gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.belly += ($EDreamDonsair.gain * 0.5).toFixed(1)>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += ($EDreamDonsair.gain * 0.5).toFixed(1)>><<endif>>\t\n\t\t\t\t<<if $EDreamDonsDNA.thigh gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.thigh += ($EDreamDonsair.gain * 0.5).toFixed(1)>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += ($EDreamDonsair.gain * 0.5).toFixed(1)>><<endif>>\t\t\t\n\t\t\t<</switch>>\n\n\t<<case "lower">>\n\t\t<<set _fatten = random(1,6)>>\n\t\t<<switch _fatten>>\n\t\t\t<<case 1>>\n\t\t\t\t<<set $EDreamDonsair.body += $EDreamDonsair.gain>>\n\n\t\t\t<<case 2>>\n\t\t\t\t<<if $EDreamDonsDNA.chest gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.chest += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 3>>\n\t\t\t\t<<if $EDreamDonsDNA.belly gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.belly += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\n\n\t\t\t<<case 4>>\n\t\t\t\t<<if $EDreamDonsDNA.limbs gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.limbs += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\n\t\t\t<<default>>\n\t\t\t\t<<if $EDreamDonsDNA.thigh gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.thigh += ($EDreamDonsair.gain * 0.5).toFixed(1)>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += ($EDreamDonsair.gain * 0.5).toFixed(1)>><<endif>>\t\n\t\t\t\t<<if $EDreamDonsDNA.tail gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.tail += ($EDreamDonsair.gain * 0.5).toFixed(1)>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += ($EDreamDonsair.gain * 0.5).toFixed(1)>><<endif>>\t\t\t\n\t\t\t<</switch>>\n\n\t<<default>>\n\t\t<<set _fatten = random(1,8)>>\n\t\t<<switch _fatten>>\n\t\t\t<<case 1>>\n\t\t\t\t<<if $EDreamDonsDNA.chest gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.chest += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\n\n\t\t\t<<case 2>>\n\t\t\t\t<<if $EDreamDonsDNA.belly gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.belly += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 3>>\n\t\t\t\t<<if $EDreamDonsDNA.thigh gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.thigh += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 4>>\n\t\t\t\t<<if $EDreamDonsDNA.tail gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.tail += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\n\n\t\t\t<<case 5>>\n\t\t\t\t<<if $EDreamDonsDNA.limbs gt 0>>\n\t\t\t\t\t<<set $EDreamDonsair.limbs += $EDreamDonsair.gain>>\n\t\t\t\t<<else>><<set $EDreamDonsair.body += $EDreamDonsair.gain>><<endif>>\t\t\t\t\n\n\t\t\t<<default>>\n\t\t\t\t<<set $EDreamDonsair.body += $EDreamDonsair.gain>>\t\t\t\n\t\t\t<</switch>>\n<</switch>>\n
/% ======================================== %/\n/% Menu Processing %/\n<<if $EDreamLiveDons.confRename>>\n\t<<set $EDreamDonsair.Name = $EDreamDonsInput.pendRename; $EDreamLiveDons.confRename = 0>><<endif>>\n\n/% ======================================== %/\n/% Migrate Inputs into final objects %/\n<<if $EDreamLiveDons.Mode eq "fromInput">><<include ProcessInput>>\n<<elseif $EDreamLiveDons.Mode eq "fromDNA">><<include EDX-DonsairLoadSerial>>\n<<elseif $EDreamLiveDons.Mode eq "generate">><<include EDX-DonsGenerateTemp>><<endif>>\n\n\n/% ======================================== %/\n/% Donsair stat updates %/ <<include EDX-DonsProcessStats>>\n/% base responses %/ <<include EDX-ProcessDonsActions>>\n/% Mood animations %/ <<include EDX-DonsProcessMood>>\n\n/% Tick timer, for time-based processes %/\n<<if $EDreamLiveDons.menuMode eq "">><<set $EDreamLiveDons.timeTick++>><<endif>>\n\n\n/% ======================================== %/\n/% Pop-Up Menus %/\n\n<<if $EDreamLiveDons.menuMode neq "">><<include DonsairMenus>><<endif>>\n\n/% ======================================== %/\n<div class="contentframe">\n/% Applet Title %/ \n\t<div class="w3-row-padding" style="margin-bottom: -1.2rem;">\n\t\t<h6><b>EVERDREAM <span class="cMagenta">♦</span></b> Living Donsair</h6>\n\t</div>\n\n/% Donsair Info "Title Bar" %/ \n\t<center><div class="w3-row-padding cardtitle">\n\t\t<h4><b><<print $EDreamDonsair.Name>></b> the \n\t\t<<if $EDreamDonsair.Subtype neq "">><<print $EDreamDonsair.Subtype>> <</if>> \n\t\t<<if $EDreamDonsair.Subspec neq "">><<print $EDreamDonsair.Subspec>> <</if>> \n\t\t<<print $EDreamDonsair.Species>>\n\t\t</h4>\n\t</div>\n\n\n<<if $EDreamLiveDons.autoMode eq 1>> /% Auto Mode Badge %/\n\t<div class="w3-row-padding autoMode"><b>AUTONOMOUS MODE</b>\n\t</div>\n\n<<endif>>\n\n</center>\n/% ======================================== %/\n/% Two-Column Split Start %/\n<div class="w3-row-padding" style="display: flex; min-height: 350px;">\n\n/% ------------------------------ %/\n\t/% Left Column %/\n\t<div class="w3-half w3-container paddedcard" style="align-self: center;">\n\t\t<center>\n\t\t\n\t\t<<print "<img class='" + $EDreamDonsair.Anim + "' src='img/revecai_" + $EDreamDonsair.img + ".png' style='margin-right: -50%;'>">>\t\n\n\t\t</center>\n\t</div>\n\n/% ------------------------------ %/\n\t/% Right Column %/\n\t<div class="w3-half w3-container paddedcard rcolumn">\n\t<h6 class="titleMini">Stats</h6><center>\n\n\t<<include DisplayStats>>\n\n\t</center></div>\n</div>/% End Columns %/\n\n/% ======================================== %/\n/% Donsair Feedback %/ <div class="w3-row-padding" style="padding-top: 1rem;"><center>\n\n\t<<print $EDreamDonsair.Name>> <<print $EDreamDonsair.Action>>\n\n\t<<if $EDreamLiveDons.Debug>><br><b>DEBUG:</b> <<include Debug>><<endif>>\n\n</center></div>\n\n/% ======================================== %/\n/% Menu Bar %/ <div class="w3-row-padding hMenu">\n<h4 class="titleMini">Actions</h4><center>\n\n\t<<button "Watch" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamDonsair.Action = "actIdleLiving">><</button>>\n\t<<button "Pet" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamDonsair.Action = "actPetted">><</button>>\n\t<<button "Groom" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamDonsair.Action = "actGroomed">><</button>>\n\t<<button "Kiss" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamDonsair.Action = "actKissed">><</button>>\n\t<<button "Calm Down!" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamDonsair.Action = "actShh">><</button>>\n\n\t<<if $EDreamLiveDons.foodTab neq 1>>\n\t\t<<button "Feed" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.foodTab = 1; $EDreamDonsair.Action = "actIdleLiving">><</button>>\n\t<<else>><<button "Finish Feeding" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.foodTab = 0; $EDreamDonsair.Action = "actIdleLiving">><</button>>\n\t<<endif>>\n\n\n\t<<button "Explore!" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamDonsair.Action = "actExplore">><</button>>\n\n<br>\n\n\t<<if $EDreamLiveDons.geneTab neq 1>><<button "Toggle Genetics" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.geneTab = 1>><</button>>\n\t<<else>><<button "Toggle Genetics" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.geneTab = 0>><</button>><<endif>>\n\n\t<<if $EDreamLiveDons.autoMode neq 1>>\n\t\t<<button "Toggle Autonomous Mode" "DonsairMain">><<set $EDreamLiveDons.autoMode = 1; $EDreamDonsair.Action = "actIdleLiving">><</button>>\n\t<<else>><<button "Toggle Autonomous Mode" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamDonsair.Action = "actIdleLiving">><</button>><<endif>>\n\n\t<<button "Breed Donsair" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.menuMode = "inputBreeding"; $EDreamDonsair.Action = "actIdleLiving">><</button>>\n\n<br>\n\n\t<<button "Rename Donsair" "DonsairMain">><<set $EDreamLiveDons.autoMode = 0; $EDreamLiveDons.menuMode = "RenameDons"; $EDreamDonsair.Action = "actIdleLiving">><</button>>\n\n\t<<button "Stat Tracker Mode" "StatTracker">><</button>>\n\n\n\n</center></div>\n\n\n/% ======================================== %/\n/% Food Tab (Toggleable) %/<<if $EDreamLiveDons.foodTab eq 1>> \n<div class="w3-row-padding hMenu" style="padding-top: 1rem;">\n<h4 class="titleMini">Food</h4>\n\t<div class="indent hMenu cMenu"><center>\n\t\t<<include EDX-DonsProcessPantry>>\n\t</center></div>\n</div><<endif>>\n\n\n/% ======================================== %/\n/% Genetics Tab (Toggleable) %/<<if $EDreamLiveDons.geneTab eq 1>> \n<div class="w3-row-padding hMenu" style="padding-top: 1rem;">\n<h4 class="titleMini">Genetics</h4>\n\t<div class="indent hMenu cMenu">\n\t\t<<include DisplayGenetics>>\n\t</div>\n</div><<endif>>\n\n/% ======================================== %/\n/% Horizontal Footer %/ <div class="w3-row-padding">\n\t</div>\n</div>\n\n/% ======================================== %/\n/% Invisible Processes %/\n\n<<if $EDreamLiveDons.autoMode eq 1>>\n\t\t<<set $EDreamLiveDons.timerSpeed = random(7,16)>> /% Gently randomize the amount of time before the donsair takes another action %/\t\n\n\t<<if $EDreamDonsair.asleep>>/% Longer timer before the donsair wakes and continues acting %/\n\t\t<<set $EDreamLiveDons.timerSpeed = random(26,48)>>\n\t\t<<print "<<timed " + $EDreamLiveDons.timerSpeed + "s>><<set $EDreamDonsair.Action = 'actIdleLiving'; $EDreamDonsair.asleep = 0>><<goto DonsairMain>><</timed>>">>\n\n\t<<else>><<print "<<timed " + $EDreamLiveDons.timerSpeed + "s>><<set $EDreamDonsair.Action = 'actIdleLiving'>><<goto DonsairMain>><</timed>>">>\n\t<<endif>>\n\n<<else>> /% If Auto Mode is off, unset the "asleep" flag. %/<<set $EDreamDonsair.asleep = 0>>\t\n<<endif>>\n
<<set $EDreamDonsair = $EDXDonsNew>>\n<<set $EDreamDonsDNA = $EDXDonsNew>>\n\n<<set $EDreamDonsair.Name = $EDXNames.Vec.random();>>\n<<set $EDreamDonsair.Subspec = "">>\n\n/% Personality setup %/\n\t<<if $EDreamDonsair.baseMood eq "angry">><<set $EDreamDonsair.Trust = random(0,6)>>\n\t<<elseif $EDreamDonsair.baseMood eq "grumpy">><<set $EDreamDonsair.Trust = random(6,17)>>\n\t<<else>><<set $EDreamDonsair.Trust = 100>>/% Only relevant for potentially aggressive donsair %/<<endif>>\n\n/% Self-Concept %/\n<<set $EDreamDonsInput.Self = $EDXCommon.Selfs.random();>>\n<<set $EDreamDonsair.Self = $EDreamDonsInput.Self>>\n\t<<switch $EDreamDonsair.Self>>\n\t\t<<case "they/them">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "they"; $EDreamDonsair.pnRef2 = "them"; $EDreamDonsair.pnPos = "their"; $EDreamDonsair.pnSelf = "themself">>\n\t\t<<case "she/her">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "she"; $EDreamDonsair.pnRef2 = "her"; $EDreamDonsair.pnPos = "her"; $EDreamDonsair.pnSelf = "herself">>\n\t\t<<case "he/him">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "he"; $EDreamDonsair.pnRef2 = "him"; $EDreamDonsair.pnPos = "his"; $EDreamDonsair.pnSelf = "himself">>\n\t\t<<case "jei/jem">>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "jei"; $EDreamDonsair.pnRef2 = "jem"; $EDreamDonsair.pnPos = "jeir"; $EDreamDonsair.pnSelf = "jemself">>\n\t\t<<default>>\n\t\t\t<<set $EDreamDonsair.pnRef1 = "it"; $EDreamDonsair.pnRef2 = "it"; $EDreamDonsair.pnPos = "its"; $EDreamDonsair.pnSelf = "itself">>\n\t<</switch>>\n\n/% Region %/\n<<set $EDreamDonsair.homeRegion = $EDXDons.Regions.random();>>\n\n/% Stats %/\n\n<<set $EDreamDonsair.vit = $EDreamDonsDNA.vit>>\n<<set $EDreamDonsair.arm = $EDreamDonsDNA.arm>>\n<<set $EDreamDonsair.str = $EDreamDonsDNA.str>>\n<<set $EDreamDonsair.will = $EDreamDonsDNA.will>>\n<<set $EDreamDonsair.fin = $EDreamDonsDNA.fin>>\n<<set $EDreamDonsair.perc = $EDreamDonsDNA.perc>>\n<<set $EDreamDonsair.whim = $EDreamDonsDNA.whim>>\n<<set $EDreamDonsair.san = $EDreamDonsDNA.san>>\n<<set $EDreamDonsair.stretch = $EDreamDonsDNA.stretch>>\n\n\n<<set $EDreamDonsair.chest = $EDreamDonsDNA.chest>>\n<<set $EDreamDonsair.belly = $EDreamDonsDNA.belly>>\n<<set $EDreamDonsair.body = $EDreamDonsDNA.body>>\n<<set $EDreamDonsair.limbs = $EDreamDonsDNA.limbs>>\n<<set $EDreamDonsair.thigh = $EDreamDonsDNA.thigh>>\n<<set $EDreamDonsair.tail = $EDreamDonsDNA.tail>>\n\n<<set _stretchBase = ($EDreamDonsair.chest + $EDreamDonsair.belly + $EDreamDonsair.body + $EDreamDonsair.tail + $EDreamDonsair.thigh)>>\n<<set $EDreamDonsair.maxBloat = ((_stretchBase * $EDreamDonsair.stretch) * 0.05).toFixed()>>\n<<set $EDreamDonsair.bloat = 0>>\n\n/% Mutations + TF %/\n\n<<if $EDXDonsNew.mutViviere eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("viviere"); $EDreamDonsDNA.mutViviere = 1>><<endif>>\n<<if $EDXDonsNew.mutOvian eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("ovian"); $EDreamDonsDNA.mutOvian = 1>><<endif>>\n<<if $EDXDonsNew.mutAdiposa eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("adiposa"); $EDreamDonsDNA.mutAdiposa = 1>><<endif>>\n<<if $EDXDonsNew.mutSlime eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("slime"); $EDreamDonsDNA.mutSlime = 1>><<endif>>\n<<if $EDXDonsNew.mutPudding eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("pudding"); $EDreamDonsDNA.mutPudding = 1>><<endif>>\n<<if $EDXDonsNew.mutPlushie eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("plushie"); $EDreamDonsDNA.mutPlushie = 1>><<endif>>\n<<if $EDXDonsNew.mutConfection eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("confection"); $EDreamDonsDNA.mutConfection = 1>><<endif>>\n<<if $EDXDonsNew.mutEpicurean eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("epicurean"); $EDreamDonsDNA.mutEpicurean = 1>><<endif>>\n<<if $EDXDonsNew.mutGreenhouse eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("greenhouse"); $EDreamDonsDNA.mutGreenhouse = 1>><<endif>>\n<<if $EDXDonsNew.mutEvian eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("evian"); $EDreamDonsDNA.mutEvian = 1>><<endif>>\n<<if $EDXDonsNew.mutHoneypot eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("honeypot"); $EDreamDonsDNA.mutHoneypot = 1>><<endif>>\n<<if $EDXDonsNew.mutRosebelly eq 1>>\n\t<<set $EDreamDonsDNA.Mutations.push("rosebelly"); $EDreamDonsDNA.mutRosebelly = 1>><<endif>>\n\n<<if $EDXDonsNew.tfFyynmorph gt 0>>\n\t<<set $EDreamDonsDNA.TFs.push("fyynmorph"); $EDreamDonsDNA.tfFyynmorph = $EDXDonsNew.tfFyynmorph>><<endif>>\n<<if $EDXDonsNew.tfOmniphage gt 0>>\n\t<<set $EDreamDonsDNA.TFs.push("omniphage"); $EDreamDonsDNA.tfOmniphage = $EDXDonsNew.tfOmniphage>><<endif>>\n<<if $EDXDonsNew.tfRealization gt 0>>\n\t<<set $EDreamDonsDNA.TFs.push("realization"); $EDreamDonsDNA.tfRealization = $EDXDonsNew.tfRealization>><<endif>>\n<<if $EDXDonsNew.tfMirlait gt 0>>\n\t<<set $EDreamDonsDNA.TFs.push("mirlait"); $EDreamDonsDNA.tfMirlait = $EDXDonsNew.tfMirlait>><<endif>>\n\n<<include EDX-DonsProcessMutations>>\n\n/% Finish; Unflag Input mode %/\n<<set $EDreamLiveDons.Mode = "">>\n\n<<set $EDreamDonsair.actOverride = "awakens in the specimen tank..!">>\n
<div class="stat vit"><b>Vitality</b><br> <<print $EDreamDonsair.vit>>/<<print $EDreamDonsair.maxVit>>\n</div>\n\n<div class="stat"><b>Corpulence</b><br> <<print $EDreamDonsair.corp.toFixed()>></div>\n\n<div class="stat pot"><b>Bloat</b><br> <<print $EDreamDonsair.bloat>>/<<print $EDreamDonsair.maxBloat>></div>\n\n<br>\n\n<<if $EDreamDonsair.chest gt 0>>\n<div class="stat"><b>Chest</b><br> <<print $EDreamDonsair.chest.toFixed()>></div><<endif>>\n\n<<if $EDreamDonsair.belly gt 0>>\n<div class="stat"><b>Belly</b><br> <<print $EDreamDonsair.belly.toFixed()>></div><<endif>>\n\n<div class="stat"><b>Body</b><br> <<print $EDreamDonsair.body.toFixed()>></div>\n\n<<if $EDreamDonsair.limbs gt 0>>\n<div class="stat"><b><<print $EDreamLiveDons.limbType>></b><br> <<print $EDreamDonsair.limbs.toFixed()>></div><<endif>>\n\n<<if $EDreamDonsair.thigh gt 0>>\n<div class="stat"><b>Thighs</b><br> <<print $EDreamDonsair.thigh.toFixed()>></div><<endif>>\n\n<<if $EDreamDonsair.tail gt 0>>\n<div class="stat"><b>Tail</b><br> <<print $EDreamDonsair.tail.toFixed()>></div><<endif>>\n\n\n<<if $EDreamLiveDons.Debug eq 1>><center>\n<div class="stat"><b>Trust</b><br> <<print $EDreamDonsair.Trust>></div></center><<endif>>\n