Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
<br/>
<br/>
<br/>
<h1 class='title'>H A R D L I F E (v. <<print setup.ENGINE.gameVersion>>)</h1>
<br/>
<br/>
<p class='sub-title'>select your character</p>
<br/>
<br/>
<p><<print setup.ENGINE.char_select_menu()>></p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<run setup.ENGINE.doRest('sleep', 5); >><<set _time = setup.ENGINE.getTime();>>
<<if ("05:30"<_time)&&(_time<"07:30")>>
<<run setup.ENGINE.giveFeedback("You wake up at first light, but the store won't be open for another hour. What do you do?");>>
<</if>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<br/>
<<goto "GO HOME">> <<if (_hrs) && (_lv)>>
<<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<run setup.ENGINE.doWorkout('run', _hrs, _lv); >>
<<replace '#datetime'>><<include 'DATETIME'>><</replace>>
<p>You get to the end of the parking lot before you realize just how out of shape you are. Your comfortable lifestyle has made you soft.</p>
<p></p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<<include "POST WORKOUT">>
<<else>>
<<print setup.ENGINE.workoutTable('run'); >>
<p>[[RETURN->GO HOME]]</p>
<</if>><<print setup.ENGINE.setupPassage();>><<print setup.ENCOUNTERS[_encounter].beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENCOUNTERS[_encounter].replacePassage(); >><<else>>
<<run setup.ENGINE.doExplore('search', 30/60); >>
<<set _found to Math.floor(Math.random()*142)/100>>
<<set $GAMEDATA.PC.MATRIX.money += _found>>
<<replace '#datetime'>><<include 'DATETIME'>><</replace>>
<p>You find $$ <<print _found.toFixed(2)>> as you wander around the parking lot.</p>
<</if>>
<<print setup.ENCOUNTERS[_encounter].afterPassage();>>
<p></p>
<p></p>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<<if setup.ENGINE.canDo('search', 30/60)>>
<p><<link "KEEP LOOKING">><<goto "LOOK FOR CHANGE">><</link>></p>
<</if>>
<p>[[GO INSIDE->SHOP S-MART]]</p>
<p>[[RETURN TO CAR->GO HOME]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<run setup.ENGINE.addMinutes(5); >>
<<replace '#datetime'>>
<<include 'DATETIME'>><</replace>>
<p class='narrow'>What did you wish to do?</p>
<p></p>
<p class='narrow'>[[CHECKOUT APPAREL]]</p>
<p class='narrow'>[[CHECKOUT AUTOMOTIVE]]</p>
<p class='narrow'>[[CHECKOUT ELECTRONICS]]</p>
<p class='narrow'>[[CHECKOUT FURNITURE]]</p>
<p class='narrow'>[[CHECKOUT GROCERY]]</p>
<p class='narrow'>[[CHECKOUT GARDEN]]</p>
<p class='narrow'>[[CHECKOUT HARDWARE]]</p>
<p class='narrow'>[[CHECKOUT HOUSEHOLD]]</p>
<p class='narrow'>[[CHECKOUT HYGENE]]</p>
<p class='narrow'>[[CHECKOUT OFFICE]]</p>
<p class='narrow'>[[CHECKOUT PHARMACY]]</p>
<p class='narrow'>[[CHECKOUT SEASONAL]]</p>
<p class='narrow'>[[CHECKOUT SPORTING GOODS]]</p>
<p></p>
<p class='narrow'>[[ENTER BATHROOM]]</p>
<p class='narrow'>[[FILLOUT APPLICATION]]</p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p class='narrow'>[[GO HOME]]</p><<run setup.ENGINE.do_status_update();>>
<<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>>
<<print setup.ENGINE.replacePassage();>>
<<link 'RETURN'>><<goto "GO HOME">><</link>>
<<else>>
<<replace '#datetime'>><<include 'DATETIME'>><</replace>>
<<replace '#quick_menu'>><<include 'MENU'>><</replace>>
<<replace '#feedback'>><<include 'FEEDBACK'>><</replace>>
<<set _home=$GAMEDATA.PC.PASSAGES.home>>
<<include "STATS">><<include "RESOURCES">><<include _home>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<p></p>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _max_workout = setup.ENGINE.maxHours($GAMEDATA.PC.STATE.lastExercise)>>
<<set _minutes = (_max_workout * 60).toFixed(1)>>
<<run setup.ENGINE.doWorkout($GAMEDATA.PC.STATE.lastExercise, _max_workout); >>
<<run setup.ENGINE.doRest("sleep", 10/60); >>
<<replace '#datetime'>><<include 'DATETIME'>><</replace>>
<p>Gritting your teeth you push through the pain and keep going for another until you pass out. (after _minutes minutes)</p>
<p>Some time later, you come to.</p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[Continue->GO HOME]]</p><div class='left framed'>
<p>ACTIONS</p>
<p>What will you do today?</p>
<p></p>
<<include "ACTIONS CAR">>
<p></p>
<<include "ACTIONS PARKING LOT">>
<p></p>
<p class='narrow'><<link 'EAT SOMETHING' >><<run setup.ENGINE.show_menu('FOOD'); >><</link>></p>
<p class='narrow'><<link 'CHANGE CLOTHES'>><<run setup.ENGINE.show_menu('EQUIP');>><</link>></p>
<p class='narrow'><<link 'USE SOMETHING' >><<run setup.ENGINE.show_menu('STUFF');>>><</link>></p>
<p></p>
<p></p>
<p class='narrow'><<link 'EXAMINE SELF'>><<run setup.ENGINE.show_menu('SELF'); >><</link>></p>
</div>Double-click this passage to edit it.Double-click this passage to edit it.<<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D01">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D02">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D03">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D04">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D05">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D07">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D08">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D09">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D11">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D13">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<p>You ask for an application and are immediately told they are under a hiring freeze.</p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[RETURN->SHOP S-MART]]</p><<run Config.passages.nobr = true;>>
<<include "GAME DATA">>
<<replace '#title'>><<include 'TITLE'>><</replace>>
<<replace '#datetime'>><<include 'DATETIME'>><</replace>>
<<replace '#feedback'>><<include 'FEEDBACK'>><</replace>>
<<run setup.ENGINE.hide_menu();>><div class='left framed'>
<h3>RESOURCES</h3>
<table class='resources'>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.tough).toFixed(1)>></td> <td>toughness</td> </tr>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.power).toFixed(1)>></td> <td>power</td> </tr>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.vigor).toFixed(1)>></td> <td>stamina</td> </tr>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.regen).toFixed(1)>></td> <td>regeneration</td> </tr>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.vital).toFixed(1)>></td> <td>health</td> </tr>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.metab).toFixed(1)>></td> <td>metabolism</td> </tr>
<tr><td><p></p></td><td><p></p></td></tr>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.kcal).toFixed(2)>></td> <td>calories/ATP</td> </tr>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.protein).toFixed(2)>>g</td> <td> protein</td> </tr>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.sugar).toFixed(2)>>g</td> <td> sugar</td> </tr>
<tr><td><p></p></td><td><p></p></td></tr>
<tr> <td>$$ <<print ($GAMEDATA.PC.MATRIX.money).toFixed(2)>></td> <td>cash</td> </tr>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.petro).toFixed(1)>></td> <td>fuel</td> </tr>
<tr> <td><<print ($GAMEDATA.PC.MATRIX.karma).toFixed(1)>></td> <td>karma</td> </tr>
</table>
</div><div class='left framed'>
<h3>STATS</h3>
<table class='stats'>
<tr> <th><<print setup.ENGINE.karmic_link('STR')>>:</th> <th><<print ($GAMEDATA.PC.STATS.STR).toFixed(2)>></th> </tr>
<tr> <th><<print setup.ENGINE.karmic_link('END')>>:</th> <th><<print ($GAMEDATA.PC.STATS.END).toFixed(2)>></th> </tr>
<tr> <th><<print setup.ENGINE.karmic_link('SPD')>>:</th> <th><<print ($GAMEDATA.PC.STATS.SPD).toFixed(2)>></th> </tr>
<tr> <th><<print setup.ENGINE.karmic_link('PHY')>>:</th> <th><<print ($GAMEDATA.PC.STATS.PHY).toFixed(2)>></th> </tr>
<tr><td><p></p></td><td><p></p></td></tr>
<tr> <td>age:</td> <td><<print setup.ENGINE.char_metric('age')>></td> </tr>
<tr> <td><<print setup.ENGINE.karmic_link('height')>>:</td> <td><<print setup.ENGINE.char_metric('ht')>></td> </tr>
<tr> <td><<print setup.ENGINE.karmic_link('weight')>>:</td> <td><<print setup.ENGINE.char_metric('wt')>></td> </tr>
<tr> <td>BMI:</td> <td><<print setup.ENGINE.char_metric('BMI')>></td> </tr>
<tr> <td>Bodyfat:</td> <td><<print setup.ENGINE.char_metric('bodyfat')>></td> </tr>
<tr><td><p></p></td><td><p></p></td></tr>
<tr> <td>bicep:</td> <td><<print setup.ENGINE.char_metric('bicep')>></td> </tr>
<tr> <td>quads:</td> <td><<print setup.ENGINE.char_metric('quads')>></td> </tr>
<tr><td><p></p></td><td><p></p></td></tr>
<tr> <td>chest:</td> <td><<print setup.ENGINE.char_metric('chest')>></td> </tr>
<tr> <td><<print setup.ENGINE.karmic_link('cup')>>:</td> <td><<print setup.ENGINE.char_metric('cup')>></td> </tr>
<tr> <td>waist:</td> <td><<print setup.ENGINE.char_metric('waist')>></td> </tr>
<tr> <td>hips:</td> <td><<print setup.ENGINE.char_metric('hips')>></td> </tr>
</table>
<p></p>
<div>
<h4>CONDITION:</h4>
<<set _i=0>>
<<for _status, _data range $GAMEDATA.PC.STATUS>>
<<set _i++>><p><i>_status</i></p>
<</for>>
<<if _i<1 >>
<p><i>normal</i></p>
<</if>>
</div>
</div><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<run setup.ENGINE.doRest('rest', 15/60); >>
<<run setup.ENGINE.giveFeedback("You rest for a few minutes to recover your strength.");>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<<goto "GO HOME">> <<if (_hrs) && (_lv)>>
<<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<run setup.ENGINE.doWorkout('walk', _hrs, _lv); >>
<<replace '#datetime'>><<include 'DATETIME'>><</replace>>
<p>You get to the end of the parking lot before you realize just how out of shape you are. Your comfortable lifestyle has made you soft.</p>
<p></p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<<include "POST WORKOUT">>
<<else>>
<<print setup.ENGINE.workoutTable('walk'); >>
<p>[[RETURN->GO HOME]]</p>
<</if>> <<if (_hrs) && (_lv)>>
<<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<run setup.ENGINE.doWorkout('jog', _hrs, _lv); >>
<<replace '#datetime'>><<include 'DATETIME'>><</replace>>
<p>You get to the end of the parking lot before you realize just how out of shape you are. Your comfortable lifestyle has made you soft.</p>
<p></p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<<include "POST WORKOUT">>
<<else>>
<<print setup.ENGINE.workoutTable('jog'); >>
<p>[[RETURN->GO HOME]]</p>
<</if>> <<if (_hrs) && (_lv)>>
<<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<run setup.ENGINE.doWorkout('calisthenics', _hrs, _lv); >>
<<replace '#datetime'>><<include 'DATETIME'>><</replace>>
<p>You try to do some basic calesthenics, but its not long till you're out of breath.</p>
<p></p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<<include "POST WORKOUT">>
<<else>>
<<print setup.ENGINE.workoutTable('calisthenics'); >>
<p>[[RETURN->GO HOME]]</p>
<</if>>
<p>[[CONTINUE->GO HOME]]</p>
<p>[[I'M NOT DONE YET!->PUSH YOURSELF]]</p><<nobr>>
<<set $GAMEDATA = { /* PLAYER DATA */
'PC': {
},
/* gamedata-state moved into PC/CHARS, a new WORLD branch to store global state will be implemented in future */
'CHARS':{
/* reserved for future expansion, character swapping */
},
}>>
<<include 'setup.ENGINE'>>
<<include 'setup.FLAGS'>>
<<include 'setup.STATUSES'>>
<<include 'setup.ACTIONS'>>
<<include 'setup.CHARS'>>
<<include 'setup.ROLES'>>
<<include 'setup.AISLES'>>
<<include 'setup.ITEMS'>>
<<include 'setup.ENCOUNTERS'>>
<<include 'setup.PASSAGES'>>
<<include 'setup.DESC'>>
<<include 'setup.MODS'>>
<</nobr>><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D06">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D10">><<include 'LIST AISLES FOR DEPT'>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<set _dept = "D12">>
<<if true>>
<h2><<print setup.AISLES[_dept].name>></h2>
<h3><<print setup.AISLES[_dept].desc>></h3>
There's nothing here... try back next season.
<<else>>
<<include 'LIST AISLES FOR DEPT'>>
<</if>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p>[[CHECK OUT ANOTHER DEPARTMENT->SHOP S-MART]]</p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<if $GAMEDATA.PC.STUFF['D08_A09_I03']>>
<<linkreplace "GET CLEANED UP">>
<p>You pull out an old washcloth from your purse, left over from the last time you had to do this, wet it and add some hand soap. Then you go into a stall and take a quick spongebath, making several trips back to the sink to rinse the cloth.</p>
<p></p>
<p>Hardly elegant, but at least you don't stink.</p>
<<run
setup.ENGINE.depleteItem('D08_A09_I03');
$GAMEDATA.PC.MATRIX.regen += 10;
setup.ENGINE.do_status_update();
>>
<</linkreplace>>
<<else>>
<p>If you had another washcloth, you could get cleaned up.</p>
<</if>>
<p></p>
<p class='narrow'><<link 'EXAMINE SELF'>><<run setup.ENGINE.show_menu('SELF'); >><</link>></p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p>[[LEAVE->SHOP S-MART]]</p>
Double-click this passage to edit it.<div class='left framed'>
<p>ACTIONS</p>
<p>What will you do today?</p>
<p></p>
<<include "ACTIONS MOTEL ROOM">>
<p></p>
<p class='narrow'><<link 'EAT SOMETHING' >><<run setup.ENGINE.show_menu('FOOD'); >><</link>></p>
<p class='narrow'><<link 'CHANGE CLOTHES'>><<run setup.ENGINE.show_menu('EQUIP');>><</link>></p>
<p class='narrow'><<link 'USE SOMETHING' >><<run setup.ENGINE.show_menu('STUFF');>>><</link>></p>
<p></p>
<p></p>
<p class='narrow'><<link 'EXAMINE SELF'>><<run setup.ENGINE.show_menu('SELF'); >><</link>></p>
</div>Double-click this passage to edit it.<hr/>
<<print setup.AISLES[_dept].AISLES[_aisle].name +": "+ setup.AISLES[_dept].AISLES[_aisle].desc>><br/>
<<for _item_id, _item_data range setup.ITEMS>>
<<if _aisle == _item_id.substr(0,7)>>
<<print "
<<linkreplace '$$ " + _item_data.cost +" - "+ _item_data.name + "' >>
" + _item_data.cost +" - "+ _item_data.name + "
<<link 'buy one' >>
<<if setup.ENGINE.buyItem( '" + _item_id + "')>>
<<else>>
<</if>>
<<replace '#feedback'>><<include 'FEEDBACK'>><</replace>>
<</link>>
<<link 'steal one'>>
<<if setup.ENGINE.stealItem('" + _item_id + "')>>
<<else>>
<</if>>
<<replace '#feedback'>><<include 'FEEDBACK'>><</replace>>
<</link>>
<</linkreplace>><br/>
">>
<</if>>
<</for>>
<hr/><<print setup.ENGINE.getFeedback();>><table id="game-window"><tr>
<td id="sidebar">
<table class='full'>
<tr><td id="title"></td></tr>
<tr><td id="quick_menu"></td></tr>
<tr><td id="detail"></td></tr>
</table>
</td>
<td id="main">
<table class='full'>
<tr><td id="datetime"></td></tr>
<tr><td id="feedback"></td></tr>
<tr><td id="container">
<div id="passages" class="passage"></div>
<div id='menu'></div>
</td></tr>
</table>
</td>
</tr></table><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<ul class='items'>
<<for _item_id, _uses range $GAMEDATA.PC.STUFF>>
<<if !(("consumable"==setup.ROLES.ALL[setup.ITEMS[_item_id].role].type)||("wearable"==setup.ROLES.ALL[setup.ITEMS[_item_id].role].type)) >>
<li><<print
setup.ITEMS[_item_id].name +" ("+ _uses + " uses remaining)"
>></li>
<</if>>
<</for>>
</ul>
<</if>>
<p></p>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p><<link 'RETURN'>><<run setup.ENGINE.hide_menu();>><</link>></p>
<<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<div class='framed'>
<h3>Attire</h3>
<ul class='items'>
<<for _slot, _item_id range $GAMEDATA.PC.EQUIP>>
<<if _item_id>>
<li><<print "
<<link '"+ _slot +": "+ setup.ITEMS[_item_id].name +"'>>
<<if setup.ENGINE.removeItem( '" + _item_id + "' )>>
<<else>>
<</if>>
<<run setup.ENGINE.show_menu('EQUIP');>>
<</link>>
">></li>
<</if>>
<</for>>
</ul>
</div>
<hr/>
<hr/>
<div class='framed'>
<h3>Wardrobe</h3>
<ul class='items'>
<<for _item_id, _uses range $GAMEDATA.PC.STUFF>>
<<if "wearable"==setup.ROLES.ALL[setup.ITEMS[_item_id].role].type >>
<li><<print "
<<link '"+ setup.ITEMS[_item_id].name +" ("+ _uses + " uses remaining)'>>
<<if setup.ENGINE.useItem( '" + _item_id + "' )>>
<<else>>
<</if>>
<<run setup.ENGINE.show_menu('EQUIP');>>
<</link>>
">></li>
<</if>>
<</for>>
</ul>
</div>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p><<link 'RETURN'>><<run setup.ENGINE.hide_menu();>><</link>></p><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<table class='items'>
<<for _item_id, _uses range $GAMEDATA.PC.STUFF>>
<<if "consumable"==setup.ROLES.ALL[setup.ITEMS[_item_id].role].type >>
<<set _pack = _uses % setup.ITEMS[_item_id].uses>>
<<print
"<tr><td>"+ setup.ITEMS[_item_id].name +
"</td><td>("+ _uses +"x)
</td><td>
<<link '[have one]'>>
<<if setup.ENGINE.useItem( '"+ _item_id +"' )>>
<<else>>
<</if>>
<<run setup.ENGINE.show_menu('FOOD');>>
<</link>>
</td><td>
<<if _pack>0>>
<<link '[finish package]'>>
<<if setup.ENGINE.useItem( '"+ _item_id +"', "+ _pack +" )>>
<<else>>
<</if>>
<<run setup.ENGINE.show_menu('FOOD');>>
<</link>>
<</if>>
</td></tr>
">>
<</if>>
<</for>>
</table>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p><<link 'RETURN'>><<run setup.ENGINE.hide_menu();>><</link>></p><<if ($GAMEDATA.PC.STATE)>><<print setup.ENGINE.getTime(); >> <<print setup.ENGINE.getLongDate(); >><</if>><hr/><br/><br/><hr/>
<ul class='side-menu'>
<li><<link "Stats & Metrics">><<replace "#detail">><<set $GAMEDATA.PC.STATE.detail="STATS"; >><<include "STATS" >><</replace>><</link>></li>
<li><<link "Resources" >><<replace "#detail">><<set $GAMEDATA.PC.STATE.detail="RESOURCES"; >><<include "RESOURCES">><</replace>><</link>></li>
<hr/>
<li><<link "Food" >><<run setup.ENGINE.show_menu('FOOD'); >><</link>></li>
<li><<link "Clothing" >><<run setup.ENGINE.show_menu('EQUIP');>><</link>></li>
<li><<link "Stuff" >><<run setup.ENGINE.show_menu('STUFF');>><</link>></li>
<li><<link "Self" >><<run setup.ENGINE.show_menu('SELF'); >><</link>></li>
</ul>
<hr/><br/><br/><hr/><a target="_blank" href='http://patreon.com/ShadowRx'>ShadowRx</a>StoryBannerStoryCaption<h3>HardLife</h3>
<small>
v<<print setup.ENGINE.gameVersion>> by<br/>
<a target="_blank" href='http://patreon.com/ShadowRx'>ShadowRx</a><br/>
<small>(<<print setup.ENGINE.buildVersion>>)</small><br/>
</small>
<br/>
<hr/>
<ul class='side-menu'>
<li><<link "Save/Load">><<script>>UI.saves()<</script>><</link>></li>
<li><<link "Settings">><<script>>UI.settings()<</script>><</link>></li>
<li><<link "Restart">><<script>>UI.restart()<</script>><</link>></li>
</ul><p>You had it. You were a rising star, just finished your third small film and were about to be married to the hottest producer on the indy scene. You had EVERYTHING. Everything you ever wanted... or so you thought.</p>
<p>Then you found out your movie director fiance has slept with EVERY girl on set, and someone new has caught his eye... your BEST FRIEND.</p>
<p>Nearly broke, and with no one to turn to, you go back to your old apartment only to find you've been evicted, and all your stuff is gone. Turns out the bastard didn't pay the rent like he promised, not surprising since he didn't pay you either.</p>
<p>Looks like you'll be living out of your car again, you thought those days were behind you.</p>
<p>Well, first thing's first, you step out into the chilly autumn air and put your last $20 in the gas tank. You have about $3 in coins in the cup holder, but you should probably save that for diner tomorrow.</p>
<p>You spend half the night looking for somewhere to park. The best you find is a dingy old S-Mart parking lot, with half the lights burned out, but at least they didn't run you off.</p>
<<run setup.ENGINE.setTime(23,1)>>
<p>Its gonna be a long day tomorrow, perhaps you should [[turn in->SLEEP IN CAR]].</p><<run setup.ENGINE.select_char('Cindy Phoenix');>>
<<goto $GAMEDATA.PC.PASSAGES.start >><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>>
<<print setup.ENGINE.replacePassage();>>
<<link 'RETURN'>><<run setup.ENGINE.hide_menu();>><</link>>
<<else>>
<div class='dialog'>
<p>Spend _cost Karma to raise base _label by _amt? _hint</p>
<b><<link 'YES'>>
<<run
$GAMEDATA.PC.MATRIX.karma -= _cost;
$GAMEDATA.PC[_type][_stat] += _amt;
setup.ENGINE.do_status_update();
if('GO HOME'==State.passage) { Engine.play(State.passage, true); }
setup.ENGINE.hide_menu();
>>
<</link>> / <<link 'NO'>><<run setup.ENGINE.hide_menu();>><</link>></b>
</div>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<p></p>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<p class='wide'>If only you had a proper mirror to use...</p>
<p class='wide'>You are <<desc "height">>, roughly <<val "height">>, and <<desc "weight">>, somewhere around <<val "weight">> when last you checked. You're <<desc "bodytone">>, with <<val "bodyfat">> body-fat.</p>
<p class='wide'>You have a <<desc "bust">> size <<val "cup">> chest with a wingspan of <<val "chest">>, which tapers to a <<desc "waist">> <<val "waist">> waist with <<desc "abs">> and curves out to <<desc "hips">> <<val "hips">> hips.</p>
<p class='wide'>Your arms are <<desc "arms">>, with <<desc "bicep">> biceps about <<val "bicep">>. Your legs <<desc "legs">>, measuring <<val "quads">> across your <<desc "quads">> quads and <<val "calf">> calves.</p>
<p class='wide'>Overall you are <<desc "health">> and <<desc "fitness">>.</p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<p></p>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<p></p>
<p></p>
<p><<link 'RETURN'>><<run setup.ENGINE.hide_menu();>><</link>></p><<set setup.ITEMS={
/* APPAREL */
/* ACCESSORIES */
'D01_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A01_I02':{ 'name':"hair ties" , 'cost': 2.00, 'uses':100, 'role':"hairstyle" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A01_I03':{ 'name':"watch" , 'cost': 20.00, 'uses':500, 'role':"bracelet" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* ATHLETIC WEAR */
'D01_A02_I01':{ 'name':"azure sportsbra" , 'cost': 16.00, 'uses':100, 'role':"undershirt" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A02_I02':{ 'name':"furry blue leg warmers" , 'cost': 20.00, 'uses':100, 'role':"socks" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A02_I03':{ 'name':"pink metallic spandex leotard" , 'cost': 30.00, 'uses':100, 'role':"onepiece" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A02_I04':{ 'name':"purple nylon unitard" , 'cost': 40.00, 'uses':100, 'role':"onepiece" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* BACKPACKS */
'D01_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':500, 'role':"backpack" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':500, 'role':"backpack" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':500, 'role':"backpack" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* COATS */
'D01_A04_I01':{ 'name':"gray hoodie" , 'cost': 10.00, 'uses':500, 'role':"jacket" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A04_I02':{ 'name':"vest" , 'cost': 20.00, 'uses':500, 'role':"vest" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A04_I03':{ 'name':"winter-coat" , 'cost': 60.00, 'uses':500, 'role':"coat" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* DRESSES */
'D01_A05_I01':{ 'name':"black miniskirt" , 'cost': 30.00, 'uses':500, 'role':"skirt" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A05_I02':{ 'name':"sexy red dress" , 'cost': 70.00, 'uses':500, 'role':"dress" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A05_I03':{ 'name':"simple black dress" , 'cost': 50.00, 'uses':500, 'role':"dress" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* HANDBAGS */
'D01_A06_I01':{ 'name':"" , 'cost': 0.00, 'uses':500, 'role':"handbag" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A06_I02':{ 'name':"" , 'cost': 0.00, 'uses':500, 'role':"handbag" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A06_I03':{ 'name':"" , 'cost': 0.00, 'uses':500, 'role':"handbag" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* HEADWEAR */
'D01_A07_I01':{ 'name':"baseball cap" , 'cost': 10.00, 'uses':100, 'role':"hat" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A07_I02':{ 'name':"beanie" , 'cost': 5.00, 'uses':100, 'role':"hat" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A07_I03':{ 'name':"black fedora" , 'cost': 45.00, 'uses':100, 'role':"hat" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A07_I04':{ 'name':"fuzzy earmuffs" , 'cost': 15.00, 'uses':100, 'role':"headband" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A07_I05':{ 'name':"overpriced shades" , 'cost':190.00, 'uses':100, 'role':"glasses" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A07_I06':{ 'name':"pink headband" , 'cost': 2.00, 'uses':100, 'role':"headband" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A07_I07':{ 'name':"stylish readers" , 'cost': 10.00, 'uses':100, 'role':"glasses" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A07_I08':{ 'name':"white ski mask" , 'cost': 5.00, 'uses':100, 'role':"mask" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* JEWELRY */
'D01_A08_I01':{ 'name':"pearl earrings" , 'cost': 25.00, 'uses':200, 'role':"earrings" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A08_I02':{ 'name':"silver belly chain" , 'cost': 15.00, 'uses':200, 'role':"sash" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A08_I03':{ 'name':"silver garnet ring" , 'cost': 20.00, 'uses':200, 'role':"ring" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A08_I04':{ 'name':"silver quartz bracelet" , 'cost': 45.00, 'uses':200, 'role':"bracelet" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A08_I05':{ 'name':"sapphire pendant" , 'cost':430.00, 'uses':200, 'role':"necklace" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A08_I06':{ 'name':"topaz necklace" , 'cost':280.00, 'uses':200, 'role':"necklace" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* PANTS */
'D01_A09_I01':{ 'name':"daisy dukes" , 'cost': 45.00, 'uses':100, 'role':"shorts" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A09_I02':{ 'name':"jeans" , 'cost': 20.00, 'uses':100, 'role':"pants" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A09_I03':{ 'name':"sweat-pants" , 'cost': 10.00, 'uses':100, 'role':"pants" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SHIRTS */
'D01_A10_I01':{ 'name':"blouse" , 'cost': 30.00, 'uses':100, 'role':"overshirt" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A10_I02':{ 'name':"colored t-shirt" , 'cost': 9.00, 'uses':100, 'role':"shirt" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A10_I03':{ 'name':"white undershirt, 3pk" , 'cost': 6.00, 'uses':180, 'role':"undershirt" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SHOES */
'D01_A11_I01':{ 'name':"black loafers" , 'cost': 40.00, 'uses':200, 'role':"shoes" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A11_I02':{ 'name':"red pumps" , 'cost': 30.00, 'uses':200, 'role':"shoes" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A11_I03':{ 'name':"white sneakers" , 'cost': 50.00, 'uses':200, 'role':"shoes" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SWIMWEAR */
'D01_A12_I02':{ 'name':"hot pink bikini top" , 'cost': 20.00, 'uses': 50, 'role':"panties" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A12_I02':{ 'name':"hot pink bikini thong" , 'cost': 20.00, 'uses': 50, 'role':"panties" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* UNDERWEAR */
'D01_A13_I01':{ 'name':"ankle socks, 10pk" , 'cost': 6.00, 'uses':200, 'role':"socks" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A13_I02':{ 'name':"plain white bra" , 'cost': 10.00, 'uses': 50, 'role':"bra" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A13_I03':{ 'name':"plain white panties" , 'cost': 10.00, 'uses': 50, 'role':"panties" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A13_I04':{ 'name':"red thong" , 'cost': 20.00, 'uses': 50, 'role':"panties" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D01_A13_I05':{ 'name':"sheer pantyhose, 3pk" , 'cost': 9.00, 'uses': 42, 'role':"socks" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END APPAREL */
/* AUTOMOTIVE */
/* ACCESSORIES */
'D02_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D02_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D02_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* FLUIDS */
'D02_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D02_A02_I02':{ 'name':"oil" , 'cost': 2.95, 'uses': 1, 'role':"engine oil" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D02_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* PARTS */
'D02_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"part" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D02_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"part" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D02_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"part" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* TOOLS */
'D02_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"tool" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D02_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"tool" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D02_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"tool" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END AUTOMOTIVE */
/* ELECTRONICS */
/* APPLIANCES */
'D03_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* BOOKS */
'D03_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"book" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"book" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"book" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* CELL PHONES */
'D03_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"phone" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"smartphone" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"smartphone" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* COMPUTER ACCESSORIES */
'D03_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* COMPUTERS */
'D03_A05_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"computer" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A05_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"computer" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A05_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"computer" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* MAGAZINES */
'D03_A06_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"magazine" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A06_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"magazine" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A06_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"magazine" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* MOVIES */
'D03_A07_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"DVD" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A07_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"DVD" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A07_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"DVD" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* MUSIC */
'D03_A08_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"CD" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A08_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"CD" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A08_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"CD" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SOFTWARE */
'D03_A09_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"software" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A09_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"software" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A09_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"software" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* VIDEO GAMES */
'D03_A10_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"game" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A10_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"game" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D03_A10_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"game" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END ELECTRONICS */
/* FURNITURE */
/* CARPETS */
'D04_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"flooring" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D04_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"flooring" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D04_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"flooring" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* CHAIRS */
'D04_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"chair" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D04_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"chair" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D04_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"chair" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* DESKS */
'D04_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"desk" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D04_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"desk" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D04_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"desk" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SHELVES */
'D04_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"cabinet" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D04_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"shelf" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D04_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"shelf" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* TABLES */
'D04_A05_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"stand" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D04_A05_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"table" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D04_A05_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"table" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END FURNITURE */
/* GROCERY */
/* ALCOHOL */
'D05_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"booze" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"booze" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"booze" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* BAKED GOODS */
'D05_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* BAKING */
'D05_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"powder" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"powder" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"powder" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* BEVERAGES */
'D05_A04_I01':{ 'name':"4 pack energy drink" , 'cost': 6.00, 'uses': 4, 'role':"drink" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':5.0, 'karma':0, 'kcal':260, 'protein': 0.7, 'sugar': 62.7, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A04_I02':{ 'name':"12 pack soda" , 'cost': 3.98, 'uses': 12, 'role':"drink" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':3.0, 'karma':0, 'kcal':160, 'protein': 0.0, 'sugar': 41.3, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A04_I03':{ 'name':"water, gallon refill" , 'cost': 0.20, 'uses': 10, 'role':"drink" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':5.0, 'karma':0, 'kcal': 0, 'protein': 0.0, 'sugar': 0.0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* CANDY */
'D05_A05_I01':{ 'name':"chocolate bar" , 'cost': 0.89, 'uses': 1, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':2.0, 'karma':0, 'kcal':214, 'protein':3.8, 'sugar':19.7, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A05_I02':{ 'name':"gummi bears, 6lb bag" , 'cost': 5.89, 'uses': 57, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':2.0, 'karma':0, 'kcal':130, 'protein':3.0, 'sugar':20.6, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A05_I03':{ 'name':"peanut butter cups, king size" , 'cost': 1.39, 'uses': 4, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':2.0, 'karma':0, 'kcal': 87, 'protein':1.7, 'sugar': 8.4, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* CANNED GOODS */
'D05_A06_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"canned food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A06_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"canned food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A06_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"canned food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* CEREAL */
'D05_A07_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A07_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A07_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* DAIRY */
'D05_A08_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A08_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A08_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* DELI */
'D05_A09_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A09_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A09_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* FROZEN */
'D05_A10_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"frozen food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A10_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"frozen food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A10_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"frozen food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* GRAINS & PASTA */
'D05_A11_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"hard food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A11_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"hard food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A11_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"hard food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* MEATS */
'D05_A12_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"raw meat" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A12_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"raw meat" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A12_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"raw meat" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* PRODUCE */
'D05_A13_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A13_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A13_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SNACKS */
'D05_A14_I01':{ 'name':"Beef Jerky, 10oz bag, Teriyaki" , 'cost': 11.95, 'uses': 10, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':4.0, 'karma':0, 'kcal':108, 'protein':12.1, 'sugar': 1, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A14_I02':{ 'name':"Mixed Nuts, 1lb" , 'cost': 4.95, 'uses': 13, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':3.0, 'karma':0, 'kcal':180, 'protein': 6.4, 'sugar': 4, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D05_A14_I03':{ 'name':"Potato Chips, Family Size" , 'cost': 4.29, 'uses': 14, 'role':"food" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':2.0, 'karma':0, 'kcal':152, 'protein': 1.9, 'sugar':15, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END GROCERY */
/* GARDEN */
/* MASONRY */
'D06_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* PATIO FURNITURE */
'D06_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* POTS */
'D06_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* PLANTS */
'D06_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"plant" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"plant" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"plant" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SEEDS */
'D06_A05_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"seed" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A05_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"seed" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A05_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"seed" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SOIL */
'D06_A06_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A06_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D06_A06_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END GARDEN */
/* HARDWARE */
/* BITS & BOLTS */
'D07_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"fastener" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"fastener" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"fastener" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* ELECTRICAL */
'D07_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* FIXTURES */
'D07_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* HVAC */
'D07_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* PLUMBING */
'D07_A05_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"plumbing" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A05_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"plumbing" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A05_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"plumbing" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* POOL */
'D07_A06_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A06_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A06_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* TOOLS */
'D07_A07_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"tool" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A07_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"tool" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D07_A07_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"tool" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END HARDWARE */
/* HOUSEHOLD */
/* APPLIANCES */
'D08_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* BEDDING */
'D08_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"bedding" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"bedding" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"bedding" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* BOARDGAMES */
'D08_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"game" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"game" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"game" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* CLEANERS */
'D08_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"chemical" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"chemical" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"chemical" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* COOKWARE */
'D08_A05_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A05_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A05_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* CRAFTS */
'D08_A06_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A06_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A06_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* DISHES */
'D08_A07_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A07_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A07_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* FLOOR CARE */
'D08_A08_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A08_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A08_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* LINENS */
'D08_A09_I01':{ 'name':"sheets" , 'cost': 11.98, 'uses':200, 'role':"bedding" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A09_I02':{ 'name':"towel" , 'cost': 6.98, 'uses':120, 'role':"towel" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A09_I03':{ 'name':"washcloth, 2pk" , 'cost': 0.98, 'uses': 70, 'role':"hygene" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* PAPER GOODS */
'D08_A10_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A10_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A10_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* STORAGE */
'D08_A11_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A11_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A11_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* TOYS */
'D08_A12_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A12_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A12_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* WINDOWS */
'D08_A13_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A13_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D08_A13_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END HOUSEHOLD */
/* HYGENE */
/* GENERAL */
'D09_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* HAIR CARE */
'D09_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* MAKEUP */
'D09_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* NAILS */
'D09_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* ORAL CARE */
'D09_A05_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A05_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A05_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* PERSONAL CARE */
'D09_A06_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A06_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A06_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SKIN CARE */
'D09_A07_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A07_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D09_A07_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END HYGENE */
/* OFFICE */
/* BINDINGS */
'D10_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* BRIEFCASES */
'D10_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* FILE CABINETS */
'D10_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* LUGGAGE */
'D10_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* NOTEBOOKS */
'D10_A05_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A05_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A05_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* PAPER */
'D10_A06_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A06_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A06_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* TOOLS */
'D10_A07_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A07_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A07_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* WRITING */
'D10_A08_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A08_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D10_A08_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END OFFICE */
/* PHARMACY */
/* COUNTER */
'D11_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D11_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D11_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* FIRST AID */
'D11_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D11_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D11_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* GADGETS */
'D11_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D11_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D11_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* HEAD & FLU */
'D11_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D11_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D11_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SUPPLEMENTS */
'D11_A05_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D11_A05_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D11_A05_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END PHARMACY */
/* SEASONAL */
/* VALENTINES */
'D12_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* ST PADDYS/EASTER */
'D12_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SUMMER/JULY 4th */
'D12_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* BACK TO SCHOOL */
'D12_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* HALLOWEEN */
'D12_A05_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A05_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A05_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* THANKSGIVING */
'D12_A06_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A06_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A06_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* BLACK FRIDAY */
'D12_A07_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A07_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A07_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* XMAS/NEW YEAR */
'D12_A08_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A08_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D12_A08_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END SEASONAL */
/* SPORTING GOODS */
/* BIKING */
'D13_A01_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A01_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A01_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* CAMPING */
'D13_A02_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A02_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A02_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* EXERCISE MACHINES */
'D13_A03_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A03_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A03_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* FISHING */
'D13_A04_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A04_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A04_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* GADGETS */
'D13_A05_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A05_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A05_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* HUNTING */
'D13_A06_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A06_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A06_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* KEYS */
'D13_A07_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A07_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A07_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* SPORTS EQUIPMENT */
'D13_A08_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A08_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A08_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* WEIGHTS */
'D13_A09_I01':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A09_I02':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
'D13_A09_I03':{ 'name':"" , 'cost': 0.00, 'uses':100, 'role':"" , 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", },
/* END SPORTING GOODS */
/* 'D00_A00_I00':{ 'name':"", 'cost': 0.00, 'uses':100, 'MATRIX':{'tough':0, 'power':0, 'vigor':0, 'regen':0, 'vital':0, 'metab':0, 'karma':0, 'kcal':0, 'protein':0, 'sugar':0, 'money':0, 'petro':0,}, 'onAction':function(hours) { hours=hours||1; }, 'desc':"an item...", }, */
/* END setup.ITEMS */ }>><<set setup.ENGINE={ /* GAME ENGINE -- everything below this point */
'gameVersion' : 0.20,
'buildVersion' : "public build",
'versionUpdate' : function() {
/* v0.1-0.11 */
var out_of_date=false;
/* shift gamestate data to characters before running additional tests */
if(!$GAMEDATA.PC.STATE && $GAMEDATA.STATE) { $GAMEDATA.PC.STATE = $GAMEDATA.STATE; $GAMEDATA.STATE = null; }
if(!$GAMEDATA.PC.STATE.saveVersion && $GAMEDATA.PC.STATE.gameVersion) { $GAMEDATA.PC.STATE.saveVersion = $GAMEDATA.PC.STATE.gameVersion; $GAMEDATA.PC.STATE.gameVersion = null; }
if( !$GAMEDATA.PC.STATE.saveVersion ){ $GAMEDATA.PC.STATE.saveVersion = 0.10; }
if( $GAMEDATA.PC.STATE.saveVersion<setup.ENGINE.gameVersion ){
switch( true ){
case ($GAMEDATA.PC.STATE.saveVersion<0.2):
/* do updates accordingly, default character is Cindy */
if(!$GAMEDATA.PC.METRICS.bust || $GAMEDATA.PC.METRICS.bust<0) { out_of_date=true; $GAMEDATA.PC.METRICS.bust = 2; }
if(!$GAMEDATA.PC.PASSAGES) { out_of_date=true; $GAMEDATA.PC.PASSAGES={ 'start':"START CINDY", 'home':"LIVING IN CAR" }; }
if(!$GAMEDATA.PC.STATE.lastPassage) { out_of_date=out_of_date; $GAMEDATA.PC.STATE.lastPassage = null; }
if(!$GAMEDATA.PC.METRICS.base_ht) { out_of_date=true; $GAMEDATA.PC.METRICS.base_ht=setup.CHARS['Cindy Phoenix'].METRICS.base_ht; }
if(!$GAMEDATA.PC.METRICS.adj_wt) { out_of_date=true; $GAMEDATA.PC.METRICS.adj_wt=setup.CHARS['Cindy Phoenix'].METRICS.wt; }
/* update character descriptions */
break;
}
/* wait until all upgrade tests pass before updating version number... */
/* this way, if it requires player choice, like creed, it will keep prompting until a selection is made */
if(!out_of_date) { $GAMEDATA.PC.STATE.saveVersion = setup.ENGINE.gameVersion; }
}
},
'setupPassage' : function(passage) {
passage=passage||State.passage;
/* run passage setup */
setup.PASSAGES[passage].setup();
var ENCOUNTERS = setup.PASSAGES[passage].ENCOUNTERS;
var total = 0;
var spin = Math.random();
var WHEEL = {};
Object.keys(ENCOUNTERS).forEach(function(name) {
total+=ENCOUNTERS[name]();
WHEEL[total]=name;
});
/* alert(JSON.stringify(WHEEL)); */
spin=Math.round(spin*total);
/* find the spin in the wheel... */
var encounter = WHEEL[Object.keys(WHEEL).find(function(ticks) { return ticks>=spin; })];
/* set a temporary variable _encounter=encounter */
State.setVar( '_encounter', encounter );
/* IF event has variations, update _encounter to a specific one */
if(setup.ENCOUNTERS[encounter].VARIATIONS) {
var sub_ENCOUNTERS = setup.ENCOUNTERS[encounter].VARIATIONS;
var sub_total = 0;
var sub_spin = Math.random();
var sub_WHEEL = {};
Object.keys(sub_ENCOUNTERS).forEach(function(name) {
sub_total+=sub_ENCOUNTERS[name];
sub_WHEEL[sub_total]=name;
});
/* alert(JSON.stringify(sub_ENCOUNTERS)); */
/* alert(JSON.stringify(sub_WHEEL)); */
sub_spin=Math.round(sub_spin*sub_total);
/* find the spin in the wheel... */
var sub_encounter = sub_WHEEL[Object.keys(sub_WHEEL).find(function(ticks) { return ticks>=sub_spin; })];
/* set a temporary variable _encounter=encounter */
State.setVar( '_encounter', sub_encounter );
}
/* run encounter setup */
setup.ENCOUNTERS[encounter].setup();
return null;
},
'beforePassage' : function(encounter, passage) {
passage=passage||State.passage;
encounter=encounter||_encounter;
if(typeof setup.ENCOUNTERS[encounter].beforePassage === 'function') {
return setup.ENCOUNTERS[encounter].beforePassage();
}
},
'replacePassage' : function(encounter, passage) {
passage=passage||State.passage;
encounter=encounter||_encounter;
/* keeps saying setup is not defined */
if(typeof setup.ENCOUNTERS[encounter].replacePassage === 'function') {
return setup.ENCOUNTERS[encounter].replacePassage();
}
},
'afterPassage' : function(encounter, passage) {
passage=passage||State.passage;
encounter=encounter||_encounter;
if(typeof setup.ENCOUNTERS[encounter].afterPassage === 'function') {
return setup.ENCOUNTERS[encounter].afterPassage();
}
},
'char_select_menu' : function() {
var select_screen = '';
select_screen += "<<click 'Cindy (aspiring actress)'>>";
select_screen += "<<run setup.ENGINE.select_char('Cindy Phoenix'); >>";
select_screen += "<<goto $GAMEDATA.PC.PASSAGES.start >>";
select_screen += "<</click>>";
return select_screen;
},
'select_char' : function(char_name) {
$GAMEDATA.PC = setup.CHARS[char_name];
setup.ENGINE.do_status_update();
if(!$GAMEDATA.PC.STATE) {
$GAMEDATA.PC.STATE ={
'saveVersion' : this.gameVersion,
'feedbackQueue' : [],
'Date' : new Date(),
'lastExercise' : null,
'lastActivity' : null,
'lastAction' : null,
'lastItem' : null,
};
}
},
'show_menu' : function(menu) {
$('#menu').html('');
$('#menu').wiki(Story.get(menu).processText());
$('#menu').show();
},
'hide_menu' : function() {
$('#menu').html('');
$('#menu').hide();
},
'karmic_link' : function(stat, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
var kLink = '';
var cost = 0;
var type = '';
var label = stat;
var amt = 1;
var hint = '';
switch(stat) {
case 'STR':
case 'END':
case 'SPD':
case 'PHY':
cost = Math.round(setup.ENGINE.xp_curve(
/* ( lv, +mod1, *rate1, **exp, *rate2, +mod2) */
CHAR.STATS[stat], 1, 1, 1, 100, 0
));
type = 'STATS';
break;
case 'cup':
stat = 'bust';
case 'bust':
cost = Math.round(setup.ENGINE.xp_curve(
/* ( lv, +mod1, *rate1, **exp, *rate2, +mod2) */
CHAR.METRICS[stat], 1+3.69, 3.54, 2.032, 3.54, -1900
));
type = 'METRICS';
break;
case 'height':
stat = 'ht';
case 'ht':
cost = Math.round(setup.ENGINE.xp_curve(
/* ( lv, +mod1, *rate1, **exp, *rate2, +mod2) */
CHAR.METRICS[stat], -12, 1/24, 10, 1/24, 16
));
type = 'METRICS';
hint = ("Metric"==settings.units ? '(2.54 cm)' : '');
break;
case 'weight':
stat = 'wt';
case 'wt':
cost = Math.round(setup.ENGINE.xp_curve(
/* ( lv, +mod1, *rate1, **exp, *rate2, +mod2) */
CHAR.METRICS[stat], 0, 1/42, 3, 6, 30
));
type = 'METRICS';
amt = 5;
hint = ("Metric"==settings.units ? '(2.27 kg)' : '');
break;
/* not a karmically linkable stat */
default:
return label;
}
/* not enough karma to link stat */
if(cost>CHAR.MATRIX.karma) {
return label;
}
kLink += "<<link '"+ label +"'>>";
kLink += "<<set _cost = "+ cost +" >>";
kLink += "<<set _stat = '"+ stat +"'>>";
kLink += "<<set _label = '"+ label +"'>>";
kLink += "<<set _type = '"+ type +"'>>";
kLink += "<<set _amt = "+ amt +" >>";
kLink += "<<set _hint = '"+ hint +"'>>";
kLink += "<<run setup.ENGINE.show_menu('SPEND KARMA');>>";
kLink += "<</link>>";
return kLink;
},
'char_metric' : function(metric, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
var value = '';
switch(metric) {
case 'height':
metric = 'ht';
case 'ht':
value = ( "Metric"==settings.units
? this.in2cm(CHAR.METRICS[metric]).toFixed(1) +' cm'
: this.in2ft(CHAR.METRICS[metric])
);
break;
case 'weight':
metric = 'wt';
case 'wt':
if(!setup.FLAGS.DISPLAY.base_metrics) {
value = ( "Metric"==settings.units
? this.lbs2kg(setup.ENGINE.scale(CHAR.METRICS[metric], 3, CHAR)).toFixed(1) +' kg'
: setup.ENGINE.scale(CHAR.METRICS[metric], 3, CHAR).toFixed(1) +' #'
);
} else {
value = ( "Metric"==settings.units
? this.lbs2kg(CHAR.METRICS[metric]).toFixed(1) +' kg'
: CHAR.METRICS[metric].toFixed(1) +' #'
);
}
break;
case 'bust':
value = ( "Metric"==settings.units
? this.in2cm(CHAR.METRICS['chest']).toFixed(1) +' cm'
: CHAR.METRICS['chest'].toFixed(1) +'"'
) +" "+ this.calc_bust(CHAR.METRICS['cup']);
break;
/* simple measures */
case 'bicep' :
case 'quads' :
case 'chest' :
case 'waist' :
case 'hips' :
value = ( "Metric"==settings.units
? this.in2cm(CHAR.METRICS[metric]).toFixed(1) +' cm'
: CHAR.METRICS[metric].toFixed(1) +'"'
);
break;
case 'bodyfat' :
value = CHAR.METRICS[metric].toFixed(1) +'%';
break;
case 'BMI' :
value = CHAR.METRICS[metric].toFixed(1);
break;
/* no change */
case 'cup' :
value = this.calc_bust(CHAR.METRICS[metric]);
break;
case 'age' :
value = CHAR.METRICS[metric];
break;
default:
value = null;
break;
}
return value;
},
'in2ft' : function(i) {
var inches = i % 12;
var feet = (i-inches)/12;
return feet +'''+ inches +'"';
},
'in2cm' : function(inches) { return inches*2.54; },
'lbs2kg' : function(pounds) { return pounds/2.2; },
'degF2C' : function(deg) { return (deg-32)/1.8; },
'stack' : function(n) { return (n+1)*(n)/2; },
'xp_curve' : function(lv, mod1, rate1, exp, rate2, mod2) {
return (((((lv+mod1)*rate1)**exp)*rate2)+mod2);
},
'bust_UK' : ['AA','A','B','C','D','DD','E','F','FF','G','GG','H','HH','J','JJ','K','KK','L','LL','M','MM','N','NN','O','OO','P','PP','Q','QQ','R','RR','S','SS','T','TT','U','W','V','VV'],
'calc_bust' : function(bust) {
var uk_cup = '';
switch(true) {
case (bust<0): uk_cup = 'AA'; break;
case (bust>38): uk_cup = 'OMG'; break;
default: uk_cup = this.bust_UK[bust]; break;
}
return uk_cup;
},
'refresh_detail' : function() {
if($GAMEDATA.PC.STATE.detail) {
$('#detail').html('');
$('#detail').wiki(Story.get($GAMEDATA.PC.STATE.detail).processText());
}
},
'before_update' : function(CHAR){},
'after_update' : function(CHAR){},
'do_status_update' : function(CHAR){
CHAR=CHAR||$GAMEDATA.PC;
this.versionUpdate();
this.before_update(CHAR);
CHAR.METRICS.scale = CHAR.METRICS.ht / CHAR.METRICS.base_ht;
CHAR.METRICS.adj_wt = Math.round(setup.ENGINE.scale(CHAR.METRICS.wt, 3, CHAR));
if(isNaN(CHAR.MATRIX.kcal)) { CHAR.MATRIX.kcal=0; }
/* set metrics */
CHAR.STATS.level = ( CHAR.STATS.STR + CHAR.STATS.END + CHAR.STATS.SPD + CHAR.STATS.PHY ) / 4;
CHAR.STATS.workout_hrs = this.stack(CHAR.STATS.level)/60;
CHAR.METRICS.BMI = (CHAR.METRICS.adj_wt/(CHAR.METRICS.ht**2)*703);
CHAR.STATS.karmic_well = this.stack(CHAR.STATS.STR)
+ this.stack(CHAR.STATS.END)
+ this.stack(CHAR.STATS.SPD)
+ this.stack(CHAR.STATS.PHY);
/* setup.ENGINE.scale(,2, CHAR); */
/* Variable Bodymass (VBM) is anything over 1 lb per inch of height can be either muscle or fat, the remainder is essential structures and organs */
var VBM = setup.ENGINE.scale(CHAR.METRICS.wt-CHAR.METRICS.ht, 3, CHAR);
var PHY_stack = (CHAR.STATS.PHY+1)*(CHAR.STATS.PHY/2);
var VBM_toned = PHY_stack/(PHY_stack+VBM);
CHAR.METRICS.bodyfat = ((1-VBM_toned)*(VBM/CHAR.METRICS.adj_wt)*100);
/* base calculations */
CHAR.METRICS.bicep = Math.max( 3, 3+(CHAR.STATS.STR*0.25) + ((CHAR.STATS.END +CHAR.STATS.PHY)/8) + (CHAR.METRICS.wt /84) ); /* 6.0, inches; max-curl = power*bicep/30; reps - max/3 */
CHAR.METRICS.quads = Math.max( 6, 7+(CHAR.STATS.STR*0.45) + ((CHAR.STATS.END +CHAR.STATS.PHY)/6.2) + (CHAR.METRICS.wt /62) ); /* 13.0, inches; max-squat = power*quad/15; reps - max/3 */
CHAR.METRICS.chest = Math.max( 15, 15+(CHAR.STATS.STR*0.75) + ((CHAR.STATS.END +CHAR.STATS.PHY)/5.4) + (CHAR.METRICS.wt /54) ); /* 23.0, */
CHAR.METRICS.waist = Math.max( 13, 16+(((CHAR.STATS.STR*0.15)+(CHAR.STATS.END*0.30)-(CHAR.STATS.PHY*0.4))*0.55) + ((CHAR.METRICS.wt-CHAR.METRICS.ht) /12.4) ); /* 19.0, */
CHAR.METRICS.hips = Math.max( 14, 13+(CHAR.STATS.STR*0.80) + ((CHAR.STATS.END +CHAR.STATS.PHY)/4.8) + (CHAR.METRICS.wt /44) ); /* 25.0, */
CHAR.METRICS.cup = Math.round(CHAR.METRICS.bust + (CHAR.METRICS.wt/88) + ((CHAR.METRICS.bodyfat/10)-5.4));
if(!setup.FLAGS.DISPLAY.base_metrics){
/* scale metrics */
CHAR.METRICS.bicep = setup.ENGINE.scale( CHAR.METRICS.bicep, 2, CHAR); /* 6.0, inches; max-curl = power*bicep/30; reps - max/3 */
CHAR.METRICS.quads = setup.ENGINE.scale( CHAR.METRICS.quads, 2, CHAR); /* 13.0, inches; max-squat = power*quad/15; reps - max/3 */
CHAR.METRICS.chest = setup.ENGINE.scale( CHAR.METRICS.chest, 2, CHAR); /* 23.0, */
CHAR.METRICS.waist = setup.ENGINE.scale( CHAR.METRICS.waist, 2, CHAR); /* 19.0, */
CHAR.METRICS.hips = setup.ENGINE.scale( CHAR.METRICS.hips, 2, CHAR); /* 25.0, */
CHAR.METRICS.cup = Math.round(setup.ENGINE.scale( CHAR.METRICS.cup, 2, CHAR));
}
/* put stats in bounds */
CHAR.MATRIX.tough = Math.min( CHAR.MATRIX.tough, (CHAR.STATS.STR * CHAR.STATS.END) );
CHAR.MATRIX.power = Math.min( CHAR.MATRIX.power, (CHAR.STATS.STR * CHAR.STATS.SPD) );
CHAR.MATRIX.vigor = Math.min( CHAR.MATRIX.vigor, (CHAR.STATS.STR * CHAR.STATS.PHY) );
CHAR.MATRIX.regen = Math.min( CHAR.MATRIX.regen, (CHAR.STATS.END * CHAR.STATS.SPD) );
CHAR.MATRIX.vital = Math.min( CHAR.MATRIX.vital, (CHAR.STATS.END * CHAR.STATS.PHY) );
CHAR.MATRIX.metab = Math.min( CHAR.MATRIX.metab, (CHAR.STATS.SPD * CHAR.STATS.PHY) );
CHAR.MATRIX.karma = Math.min(CHAR.MATRIX.karma, CHAR.STATS.karmic_well);
for(var status in setup.STATUSES) {
if(status in CHAR.STATUS) { /* see if it should be removed... */
if(false==setup.STATUSES[status].test()) {
delete CHAR.STATUS[status];
setup.STATUSES[status].onRemove();
}
} else { /* see if it should be added... */
if(true==setup.STATUSES[status].test()) {
CHAR.STATUS[status]=setup.STATUSES[status].text;
setup.STATUSES[status].onApply();
}
}
}
this.after_update(CHAR);
this.refresh_detail();
},
'getDate' : function() { return (this.getMonth()+1) +'/'+ $GAMEDATA.PC.STATE.Date.getDate() +'/'+ $GAMEDATA.PC.STATE.Date.getFullYear(); },
'getTime' : function() { return $GAMEDATA.PC.STATE.Date.getHours().toString().padStart(2,'0') +":"+ $GAMEDATA.PC.STATE.Date.getMinutes().toString().padStart(2,'0'); },
'getLongDate' : function() { return this.getDay() +', '+ this.getMonth() +' '+ $GAMEDATA.PC.STATE.Date.getDate() +', '+ $GAMEDATA.PC.STATE.Date.getFullYear(); },
'getMonth' : function() { return ['January','February','March','April','May','June','July','August','September','October','November','December'][$GAMEDATA.PC.STATE.Date.getMonth()]; },
'getDay' : function() { return ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'][$GAMEDATA.PC.STATE.Date.getDay()]; },
'addSeconds' : function(s) { $GAMEDATA.PC.STATE.Date=new Date($GAMEDATA.PC.STATE.Date.getTime() + s*1000); },
'addMinutes' : function(n) { $GAMEDATA.PC.STATE.Date=new Date($GAMEDATA.PC.STATE.Date.getTime() + n*60*1000); },
'addHours' : function(h) { $GAMEDATA.PC.STATE.Date=new Date($GAMEDATA.PC.STATE.Date.getTime() + h*60*60*1000); },
'addDays' : function(d) { $GAMEDATA.PC.STATE.Date=new Date($GAMEDATA.PC.STATE.Date.getTime() + d*24*60*60*1000); }, /* non-calendar, 24 hour days - no daylight savings */
'addWeeks' : function(w) { $GAMEDATA.PC.STATE.Date=new Date($GAMEDATA.PC.STATE.Date.getTime() + w* 7*24*60*60*1000); },
'addMonths' : function(m) { $GAMEDATA.PC.STATE.Date=new Date($GAMEDATA.PC.STATE.Date.getTime() + m* 30*24*60*60*1000); }, /* non-calendar, 30 day months - no 30.5/28/31 adjust */
'addYears' : function(y) { $GAMEDATA.PC.STATE.Date=new Date($GAMEDATA.PC.STATE.Date.getTime() + y*365*24*60*60*1000); }, /* non-calendar, 365 day years - no leap year */
'setTime' : function(h, n, s) { n=n||0; s=s||0; $GAMEDATA.PC.STATE.Date.setHours(h, n, s); },
'getFeedback' : function() {
var feedback = '';
if(($GAMEDATA.PC.STATE)&&($GAMEDATA.PC.STATE.feedbackQueue)) {
feedback = $GAMEDATA.PC.STATE.feedbackQueue.shift();
}
return feedback;
},
'giveFeedback' : function(msg) {
if(($GAMEDATA.PC.STATE)&&($GAMEDATA.PC.STATE.feedbackQueue)) {
$GAMEDATA.PC.STATE.feedbackQueue.push(msg);
}
},
'scale' : function(base, dimensions, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
return base * ((CHAR.METRICS.scale)**dimensions);
},
'val' : function(metric, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
/* first try char_metric() */
var val = setup.ENGINE.char_metric(metric, CHAR);
if(!val) {
/* next check TRAITS */
val = "<span class='blank'>[insert '"+ metric +"' metric here...]</span>";
}
return val;
},
'desc' : function(trait, CHAR) {
var desc = '';
if(setup.DESC[trait]) {
desc = setup.DESC[trait](CHAR);
} else {
desc = "<span class='blank'>[insert '"+ trait +"' description here...]</span>";
}
return desc;
},
'canDo' : function(activity, hours, level, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
var act = setup.ACTIONS[activity].MATRIX;
hours=hours||setup.ACTIONS[activity].hours;
level=level||1.0;
var effort = hours*level;
/* does she have enough vigor, vital, karma, etc to perform action? */
/* skip calories, protein, and sugar/carbs... will use a special system for negative calories */
switch(activity) {
case 'rest':
return true; /* you can ALWAYS rest, no matter what condition you are in... */
break;
default:
/* treat any below-zero stat AS zero... prevents being unable to earn karma with a negative balance */
return (
(Math.max(0, CHAR.MATRIX.tough ) > (-act.tough *effort))
&& (Math.max(0, CHAR.MATRIX.power ) > (-act.power *effort))
&& (Math.max(0, CHAR.MATRIX.vigor ) > (-act.vigor *effort))
&& (Math.max(0, CHAR.MATRIX.regen ) > (-act.regen *effort))
&& (Math.max(0, CHAR.MATRIX.vital ) > (-act.vital *effort))
&& (Math.max(0, CHAR.MATRIX.metab ) > (-act.metab *effort))
&& (Math.max(0, CHAR.MATRIX.karma ) > (-act.karma *effort))
/* && (Math.max(0, CHAR.MATRIX.kcal ) > (-act.kcal *effort)) */
/* && (Math.max(0, CHAR.MATRIX.protein ) > (-act.protein *effort)) */
/* && (Math.max(0, CHAR.MATRIX.sugar ) > (-act.sugar *effort)) */
&& (Math.max(0, CHAR.MATRIX.money ) > (-act.money *effort))
&& (Math.max(0, CHAR.MATRIX.petro ) > (-act.petro *effort))
);
break;
}
},
'maxHours' : function(activity, level, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
var act = setup.ACTIONS[activity].MATRIX;
level=level||1.0;
return ( Math.min(
( (act.tough <0) ? (CHAR.MATRIX.tough /(-act.tough )) : (Number.MAX_VALUE) ),
( (act.power <0) ? (CHAR.MATRIX.power /(-act.power )) : (Number.MAX_VALUE) ),
( (act.vigor <0) ? (CHAR.MATRIX.vigor /(-act.vigor )) : (Number.MAX_VALUE) ),
( (act.regen <0) ? (CHAR.MATRIX.regen /(-act.regen )) : (Number.MAX_VALUE) ),
( (act.vital <0) ? (CHAR.MATRIX.vital /(-act.vital )) : (Number.MAX_VALUE) ),
( (act.metab <0) ? (CHAR.MATRIX.metab /(-act.metab )) : (Number.MAX_VALUE) ),
( (act.karma <0) ? (CHAR.MATRIX.karma /(-act.karma )) : (Number.MAX_VALUE) ),
/* ( (act.kcal <0) ? (CHAR.MATRIX.kcal /(-act.kcal )) : (Number.MAX_VALUE) ), */
/* ( (act.protein <0) ? (CHAR.MATRIX.protein /(-act.protein )) : (Number.MAX_VALUE) ), */
/* ( (act.sugar <0) ? (CHAR.MATRIX.sugar /(-act.sugar )) : (Number.MAX_VALUE) ), */
( (act.money <0) ? (CHAR.MATRIX.money /(-act.money )) : (Number.MAX_VALUE) ),
( (act.petro <0) ? (CHAR.MATRIX.petro /(-act.petro )) : (Number.MAX_VALUE) )
) / level );
},
'workoutTable' : function(activity, HOURS, LEVELS, CHAR) {
LEVELS=LEVELS||{'light':0.5,'medium':1.0,'heavy':2.0};
HOURS=HOURS||{'auto':0,'quick':5/60,'short':20/60,'moderate':60/60,'long':180/60,'max':0};
CHAR=CHAR||$GAMEDATA.PC;
var hrs = 0.0; var twine_link = ''; var max_hours = 0.0;
var link_table = "<table class='workout'><tr><th></th>";
Object.keys(HOURS).forEach(function(h){
link_table += '<th>'+ h +'</th>';
});
link_table += '</tr>';
Object.keys(LEVELS).forEach(function(lv){
link_table += '<tr><th>'+ lv + '</th>';
max_hours = setup.ENGINE.maxHours(activity, LEVELS[lv], CHAR);
Object.keys(HOURS).forEach(function(h){
switch(h) {
case 'auto': hrs = CHAR.STATS.workout_hrs; break;
case 'max': hrs = max_hours; break;
default: hrs = HOURS[h]; break;
}
twine_link = ((hrs>max_hours) ? '<hr/>' : "<<link '"+ (hrs*60).toFixed(1) + ' min' + "'>>"
+"<<set _hrs = "+ hrs +">><<set _lv = "+ LEVELS[lv] +">>"
+"<<replace '#passages'>><<include '"+ State.passage +"'>><</replace>>"
+"<</link>>");
link_table += '<td>'+ twine_link +'</td>';
});
link_table += "</tr>\n";
});
link_table += '</table>';
return link_table;
},
'doMATRIX' : function(MATRIX, units, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
if(typeof units==='undefined' || isNaN(units)) units=1;
/* alert(JSON.stringify(MATRIX)); */
/* ACTION COST/REWARD MATRIX - adjusted for metabolism boosting */
CHAR.MATRIX.tough += (MATRIX.tough * units);
CHAR.MATRIX.power += (MATRIX.power * units);
CHAR.MATRIX.vigor += (MATRIX.vigor * units);
CHAR.MATRIX.regen += (MATRIX.regen * units);
CHAR.MATRIX.vital += (MATRIX.vital * units);
CHAR.MATRIX.metab += (MATRIX.metab * units);
CHAR.MATRIX.karma += (MATRIX.karma * units);
CHAR.MATRIX.kcal += (MATRIX.kcal * units);
CHAR.MATRIX.protein += (MATRIX.protein * units);
CHAR.MATRIX.sugar += (MATRIX.sugar * units);
CHAR.MATRIX.money += (MATRIX.money * units);
CHAR.MATRIX.petro += (MATRIX.petro * units);
/* make sure we have not exceeded max, and apply any status changes */
setup.ENGINE.do_status_update();
return true;
},
'doWorkout' : function(activity, hours, level, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
level=level||1.0;
hours=hours||Math.min(setup.ACTIONS[activity].hours,this.maxHours(activity, level, CHAR));
var act = Object.assign({}, setup.ACTIONS[activity].MATRIX);
/* PASSIVE REGEN TRIGGERED IN ACTIVITIES, BUT NOT ITEMS, SINCE IT REFLECTS HOURS PASSING NOT UNITS USED */
CHAR.MATRIX.vital += (CHAR.MATRIX.regen*hours/24); CHAR.MATRIX.tough += (CHAR.MATRIX.regen*hours/48);
CHAR.MATRIX.vigor += (CHAR.MATRIX.metab*hours/24); CHAR.MATRIX.power += (CHAR.MATRIX.metab*hours/48);
CHAR.MATRIX.kcal -= ((CHAR.METRICS.adj_wt+Math.sqrt(Math.abs(CHAR.MATRIX.metab)))*hours*0.85);
/* CALLED WITH UNITS, NOT HOURS, BUT SINCE THE MATRIX IS NORMALIZED TO HOURS, THIS IS FINE */
var bodymass = (CHAR.METRICS.wt*0.65) * (1+(Math.sqrt(Math.abs(CHAR.MATRIX.metab))/10));
act.kcal*= bodymass; act.protein*= bodymass; act.sugar*= bodymass;
this.doMATRIX(act, hours*level);
/* WORKOUT UNIQUE CODE: STAT INCREASE FOR EFFORT */
CHAR.STATS.STR += ( -(act.tough+act.power+act.vigor)*hours /(100*CHAR.STATS.STR));
CHAR.STATS.END += ( -(act.tough+act.regen+act.vital)*hours /(100*CHAR.STATS.END));
CHAR.STATS.SPD += ( -(act.power+act.regen+act.metab)*hours /(100*CHAR.STATS.SPD));
CHAR.STATS.PHY += ( -(act.vigor+act.vital+act.metab)*hours /(100*CHAR.STATS.PHY));
/* ACTION EVENT CALLBACK */
setup.ACTIONS[activity].onAction(hours);
$GAMEDATA.PC.STATE.lastExercise = activity;
$GAMEDATA.PC.STATE.lastActivity = activity;
$GAMEDATA.PC.STATE.lastAction = 'workout';
/* Adjust the clock */
setup.ENGINE.addHours(hours);
return true;
},
'doExplore' : function(activity, hours, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
hours=hours||setup.ACTIONS[activity].hours;
var act = Object.assign({}, setup.ACTIONS[activity].MATRIX);
/* PASSIVE REGEN TRIGGERED IN ACTIVITIES, BUT NOT ITEMS, SINCE IT REFLECTS HOURS PASSING NOT UNITS USED */
CHAR.MATRIX.vital += (CHAR.MATRIX.regen*hours/24); CHAR.MATRIX.tough += (CHAR.MATRIX.regen*hours/48);
CHAR.MATRIX.vigor += (CHAR.MATRIX.metab*hours/24); CHAR.MATRIX.power += (CHAR.MATRIX.metab*hours/48);
CHAR.MATRIX.kcal -= ((CHAR.METRICS.adj_wt+Math.sqrt(Math.abs(CHAR.MATRIX.metab)))*hours*0.65);
/* CALLED WITH UNITS, NOT HOURS, BUT SINCE THE MATRIX IS NORMALIZED TO HOURS, THIS IS FINE */
var bodymass = (CHAR.METRICS.wt*0.65) * (1+(Math.sqrt(Math.abs(CHAR.MATRIX.metab))/10));
act.kcal*= bodymass; act.protein*= bodymass; act.sugar*= bodymass;
this.doMATRIX(act, hours);
/* EXPLORE UNIQUE CODE: */
/* ACTION EVENT CALLBACK */
setup.ACTIONS[activity].onAction(hours);
$GAMEDATA.PC.STATE.lastActivity = activity;
$GAMEDATA.PC.STATE.lastAction = 'explore';
/* Adjust the clock */
setup.ENGINE.addHours(hours);
return true;
},
'doRest' : function(activity, hours, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
hours=hours||setup.ACTIONS[activity].hours;
var act = Object.assign({}, setup.ACTIONS[activity].MATRIX);
this.debugClear();
/* ACTIVE REGEN TRIGGERED IN ACTIVITIES, BUT NOT ITEMS, SINCE IT REFLECTS HOURS PASSING NOT UNITS USED - runs at 3x rate of passive */
CHAR.MATRIX.vital += (CHAR.MATRIX.regen*hours/8); CHAR.MATRIX.tough += (CHAR.MATRIX.regen*hours/16);
CHAR.MATRIX.vigor += (CHAR.MATRIX.metab*hours/8); CHAR.MATRIX.power += (CHAR.MATRIX.metab*hours/16);
CHAR.MATRIX.kcal -= ((CHAR.METRICS.adj_wt+Math.sqrt(Math.abs(CHAR.MATRIX.metab)))*hours*0.50);
/* CALLED WITH UNITS, NOT HOURS, BUT SINCE THE MATRIX IS NORMALIZED TO HOURS, THIS IS FINE */
var bodymass = (CHAR.METRICS.wt*0.65) * (1+(Math.sqrt(Math.abs(CHAR.MATRIX.metab))/10));
act.kcal*= bodymass; act.protein*= bodymass; act.sugar*= bodymass;
this.doMATRIX(act, hours);
/* REST UNIQUE CODE: */
CHAR.MATRIX.tough += (CHAR.STATS.STR + CHAR.STATS.END) * (hours/21);
CHAR.MATRIX.power += (CHAR.STATS.STR + CHAR.STATS.SPD) * (hours/14);
CHAR.MATRIX.vigor += (CHAR.STATS.STR + CHAR.STATS.PHY) * (hours/14);
CHAR.MATRIX.regen += (CHAR.STATS.END + CHAR.STATS.SPD) * (hours/7);
CHAR.MATRIX.vital += (CHAR.STATS.END + CHAR.STATS.PHY) * (hours/7);
CHAR.MATRIX.metab += (CHAR.STATS.PHY + CHAR.STATS.SPD) * (hours/21);
var unbalanced = true;
var loops = 0;
/* ADJUST WEIGHT - rebalance, lose, then gain */
while((CHAR.METRICS.adj_wt>(CHAR.METRICS.ht/2))&&( unbalanced )&&( loops<(bodymass*hours/10) )) {
unbalanced = false; loops++;
/* convert sugar to/from protein */
if(( (Math.abs(CHAR.MATRIX.protein)+Math.abs(CHAR.MATRIX.sugar))>CHAR.METRICS.wt*5 )&&( (CHAR.MATRIX.protein*2)<CHAR.MATRIX.sugar )) {
CHAR.MATRIX.sugar -= (CHAR.METRICS.adj_wt * 0.9);
CHAR.MATRIX.protein += (CHAR.METRICS.adj_wt * 0.8);
this.debugLog(loops + ': protein*2<sugar; protein+sugar>weight*5; converted '+ (CHAR.METRICS.adj_wt * 0.9) +'g sugar to '+(CHAR.METRICS.adj_wt * 0.8)+'g protein');
unbalanced = true;
} else if(( (Math.abs(CHAR.MATRIX.protein)+Math.abs(CHAR.MATRIX.sugar))>CHAR.METRICS.wt*5 )&&( CHAR.MATRIX.protein>(CHAR.MATRIX.sugar*2) )) {
CHAR.MATRIX.protein -= (CHAR.METRICS.adj_wt * 0.8);
CHAR.MATRIX.sugar += (CHAR.METRICS.adj_wt * 0.9);
this.debugLog(loops + ': protein>sugar*2; protein+sugar>weight*5; converted '+ (CHAR.METRICS.adj_wt * 0.8) +'g protein to '+(CHAR.METRICS.adj_wt * 0.9)+'g sugar');
unbalanced = true;
}
/* convert sugar to/from kCal/ATP */
if(( (Math.abs(CHAR.MATRIX.kcal)+Math.abs(CHAR.MATRIX.sugar))>CHAR.METRICS.wt*30 )&&( (CHAR.MATRIX.kcal<-100)&&(CHAR.MATRIX.sugar>0) )) {
CHAR.MATRIX.kcal += (CHAR.METRICS.adj_wt * 12.0);
CHAR.MATRIX.sugar -= (CHAR.METRICS.adj_wt * 3.0);
this.debugLog(loops + ': sugar>0; kcal<-100; converted '+ (CHAR.METRICS.adj_wt * 3.0) +'g sugar to '+(CHAR.METRICS.adj_wt * 12.0)+' kCal');
unbalanced = true;
} else if(( (Math.abs(CHAR.MATRIX.kcal)+Math.abs(CHAR.MATRIX.sugar))>CHAR.METRICS.wt*30 )&&( (CHAR.MATRIX.kcal>5000)&&(CHAR.MATRIX.sugar<200) )) {
CHAR.MATRIX.kcal -= (CHAR.METRICS.adj_wt * 12.0);
CHAR.MATRIX.sugar += (CHAR.METRICS.adj_wt * 3.0);
this.debugLog(loops + ': kcal>5000; sugar<200; converted '+ (CHAR.METRICS.adj_wt * 12.0) +'kCal to '+(CHAR.METRICS.adj_wt * 3.0)+'g sugar');
unbalanced = true;
}
/* convert protein to/from kCal/ATP */
if(( (Math.abs(CHAR.MATRIX.kcal)+Math.abs(CHAR.MATRIX.protein))>CHAR.METRICS.wt*10 )&&( (CHAR.MATRIX.kcal<-100) && (CHAR.MATRIX.protein>0) )) {
CHAR.MATRIX.kcal += (CHAR.METRICS.adj_wt * 4.5);
CHAR.MATRIX.protein -= (CHAR.METRICS.adj_wt * 1.0);
this.debugLog(loops + ': protein>0; kcal<-100; converted '+ (CHAR.METRICS.adj_wt * 1.0) +'g protein to '+(CHAR.METRICS.adj_wt * 4.5)+' kCal');
unbalanced = true;
} else if(( (Math.abs(CHAR.MATRIX.kcal)+Math.abs(CHAR.MATRIX.protein))>CHAR.METRICS.wt*10 )&&( (CHAR.MATRIX.kcal>5000)&&(CHAR.MATRIX.protein<100) )) {
CHAR.MATRIX.kcal -= (CHAR.METRICS.adj_wt * 4.5);
CHAR.MATRIX.protein += (CHAR.METRICS.adj_wt * 1.0);
this.debugLog(loops + ': kcal>5000; protein<100; converted '+ (CHAR.METRICS.adj_wt * 4.5) +'kCal to '+(CHAR.METRICS.adj_wt * 1.0)+'g protein');
unbalanced = true;
}
/* lose/gain weight */
if( (CHAR.MATRIX.kcal<-4000) || (CHAR.MATRIX.sugar<-500) || (CHAR.MATRIX.protein<-350) || ((CHAR.MATRIX.sugar<-200)&&(CHAR.MATRIX.kcal<-750)) || ((CHAR.MATRIX.sugar<100)&&(CHAR.MATRIX.kcal<-3000)) ) {
this.debugLog(loops + ': lost a pound -- wt: '+ CHAR.METRICS.wt +'; kCal: '+ CHAR.MATRIX.kcal +'; protein: '+ CHAR.MATRIX.protein +'g; sugar: '+ CHAR.MATRIX.sugar +'g;');
CHAR.METRICS.wt -= 1;
CHAR.MATRIX.sugar += 650;
CHAR.MATRIX.kcal += 3250;
CHAR.MATRIX.protein += 345;
unbalanced = true;
} else if( (CHAR.MATRIX.kcal>9500) || (CHAR.MATRIX.sugar>2000) || (CHAR.MATRIX.protein>1500) || ((CHAR.MATRIX.sugar>600)&&(CHAR.MATRIX.kcal>2500)) || ((CHAR.MATRIX.sugar>300)&&(CHAR.MATRIX.kcal>6000)) ) {
this.debugLog(loops + ': gained a pound -- wt: '+ CHAR.METRICS.wt +'; kCal: '+ CHAR.MATRIX.kcal +'; protein: '+ CHAR.MATRIX.protein +'g; sugar: '+ CHAR.MATRIX.sugar +'g;');
CHAR.METRICS.wt += 1;
CHAR.MATRIX.sugar -= 750;
CHAR.MATRIX.kcal -= 3750;
CHAR.MATRIX.protein -= 410;
unbalanced = true;
}
/* repeat until no rebalances trigger */
}
/* ACTION EVENT CALLBACK */
setup.ACTIONS[activity].onAction(hours);
$GAMEDATA.PC.STATE.lastActivity = activity;
$GAMEDATA.PC.STATE.lastAction = 'rest';
/* Adjust the clock */
setup.ENGINE.addHours(hours);
/* Update status again, as weight may have changed */
setup.ENGINE.do_status_update();
return true;
},
'sale_price' : function(cost, discount) {
return cost*(1-discount);
},
'check_sale' : function(item_id) {
return 0.0;
},
/* integrates inventory, master items matrix, and action */
'buyItem' : function(item_id, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
$GAMEDATA.PC.STATE.lastAction = 'buy';
if(parseFloat(CHAR.MATRIX.money.toFixed(2))<setup.ITEMS[item_id].cost) {
setup.ENGINE.giveFeedback('you don't have enough money to buy this!');
return false;
} else {
CHAR.MATRIX.money-=this.sale_price(setup.ITEMS[item_id].cost, this.check_sale(item_id));
this.addItem(item_id);
setup.ENGINE.giveFeedback('You bought [' + setup.ITEMS[item_id].name + '], which leaves you with $ ' + (CHAR.MATRIX.money).toFixed(2));
return true;
}
},
'stealItem' : function(item_id, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
$GAMEDATA.PC.STATE.lastAction = 'steal';
if(CHAR.MATRIX.karma/3<setup.ITEMS[item_id].cost) {
CHAR.MATRIX.karma-=setup.ITEMS[item_id].cost;
setup.ENGINE.giveFeedback('you got caught, this is really bad... where will you go if you are banned?');
return false;
} else {
CHAR.MATRIX.karma-=setup.ITEMS[item_id].cost*3;
this.addItem(item_id);
setup.ENGINE.giveFeedback('You snagged [' + setup.ITEMS[item_id].name + '] ...that was almost too easy.');
return true;
}
},
'addItem' : function(item_id, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
/* Items are now directly referenced from the database, so all we need is the charge count */
if(!CHAR.STUFF[item_id]) { CHAR.STUFF[item_id]=0; }
CHAR.STUFF[item_id]+=setup.ITEMS[item_id].uses;
return true;
},
'delItem' : function(item_id, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
delete CHAR.STUFF[item_id];
return true;
},
'equipItem' : function(item_id, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
/* broken, allows ANY item to be equipped on ANY slot */
var slot_id = setup.ITEMS[item_id].role;
if(setup.ROLES.EQUIP_ZONES.hasOwnProperty(slot_id)) {
CHAR.EQUIP[slot_id] = item_id;
return true;
} else {
/* item does not match a known slot type */
return false;
}
},
'removeItem' : function(item_id, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
var slot_id = setup.ITEMS[item_id].role;
/* if something is there remove the item, but keep the slot */
if(CHAR.EQUIP[slot_id]) {
CHAR.EQUIP[slot_id]=null;
return true;
} else {
/* item does not match a known slot type or is not equipped */
return true;
}
},
'before_use' : function(item_id, qty, CHAR) {},
'after_use' : function(item_id, qty, CHAR) {},
'useItem' : function(item_id, qty, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
qty=qty||1; /* option to multi-use */
$GAMEDATA.PC.STATE.lastAction = 'use';
$GAMEDATA.PC.STATE.lastItem = item_id;
/* do you even have one, bro? */
if(!CHAR.STUFF[item_id]) { return false; }
if(('all'==qty)||('*'==qty)) { qty=CHAR.STUFF[item_id]; }
this.before_use(item_id, qty, CHAR);
CHAR.STUFF[item_id]-=qty;
/* if the shoe fits, wear it... */
var iType = setup.ROLES.ALL[setup.ITEMS[item_id].role].type;
switch(iType) {
/* if not, try eating it */
case 'wearable':
return this.equipItem(item_id);
break;
case 'consumable':
var item = setup.ITEMS[item_id].MATRIX;
this.doMATRIX(item, qty);
break;
default:
/* or just put it on the mantle to look at */
}
/* Adjust the clock */
setup.ENGINE.addSeconds(10 * qty / CHAR.STATS.SPD);
/* load item MATRIX */
/* this.doMATRIX(MATRIX, units); */
this.after_use(item_id, qty, CHAR);
/* clean up inventory */
if(CHAR.STUFF[item_id]<1) { this.delItem(item_id); }
return true;
},
/* burns charges mid story, instead of using item through menu */
'depleteItem' : function(item_id, qty, CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
qty=qty||1; /* option to multi-use */
if(!CHAR.STUFF[item_id]) { return false; }
if(('all'==qty)||('*'==qty)) { qty=CHAR.STUFF[item_id]; }
CHAR.STUFF[item_id]-=qty;
return true;
},
'debugLog' : function(msg) {
if( settings.debugInfo && window.console && window.console.log) { window.console.log(msg); }
},
'debugClear' : function() {
if( settings.debugInfo && window.console && window.console.clear) { window.console.clear(); }
},
}>><<set setup.STATUSES = {
'dead from starvation' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return CHAR.METRICS.wt<CHAR.METRICS.ht; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'emaciated' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'thin' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'starving' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'fat' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'malnourished' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'depressed' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'angry' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'tired' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'overweight' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'bruised' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'fit' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
'' :{ 'test':function(CHAR) { CHAR=CHAR||$GAMEDATA.PC; return false; }, 'onApply':function() {}, 'onRemove':function() {}, 'text':"", },
/* END setup.STATUSES */ }>><<set setup.ACTIONS = {
/* EXERCISE ACTIONS - note: cost/reward matrix is normalized to 1.0 hour intervals, which may vary from default activity length */
'walk' :{ 'hours': 1.50, 'MATRIX':{'tough':- 5.0, 'power':- 4.0, 'vigor':- 8.0, 'regen':- 3.0, 'vital':- 5.0, 'metab':- 4.0, 'karma':+ 5.0, 'kcal':- 1.5, 'protein':- 0.015, 'sugar':- 0.275, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'jog' :{ 'hours': 1.00, 'MATRIX':{'tough':- 30.0, 'power':- 16.0, 'vigor':- 40.0, 'regen':- 24.0, 'vital':- 30.0, 'metab':- 30.0, 'karma':+ 35.0, 'kcal':- 3.0, 'protein':- 0.040, 'sugar':- 0.550, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'run' :{ 'hours': 0.50, 'MATRIX':{'tough':- 45.0, 'power':- 34.0, 'vigor':-120.0, 'regen':- 38.0, 'vital':- 60.0, 'metab':- 60.0, 'karma':+ 75.0, 'kcal':- 6.0, 'protein':- 0.100, 'sugar':- 1.600, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'sprint' :{ 'hours': 0.25, 'MATRIX':{'tough':- 60.0, 'power':- 60.0, 'vigor':-180.0, 'regen':- 52.0, 'vital':- 90.0, 'metab':- 90.0, 'karma':+120.0, 'kcal':- 12.0, 'protein':- 0.200, 'sugar':- 3.800, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'calisthenics' :{ 'hours': 0.50, 'MATRIX':{'tough':- 50.0, 'power':- 80.0, 'vigor':-120.0, 'regen':- 30.0, 'vital':- 40.0, 'metab':- 30.0, 'karma':+ 75.0, 'kcal':- 4.0, 'protein':- 0.120, 'sugar':- 0.900, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'aerobics' :{ 'hours': 0.50, 'MATRIX':{'tough':- 30.0, 'power':- 21.0, 'vigor':- 90.0, 'regen':- 50.0, 'vital':- 90.0, 'metab':- 50.0, 'karma':+ 65.0, 'kcal':- 3.0, 'protein':- 0.060, 'sugar':- 0.850, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'yoga' :{ 'hours': 0.50, 'MATRIX':{'tough':- 40.0, 'power':- 38.0, 'vigor':- 60.0, 'regen':- 60.0, 'vital':- 80.0, 'metab':- 45.0, 'karma':+ 90.0, 'kcal':- 2.0, 'protein':- 0.050, 'sugar':- 0.400, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'weightlifting' :{ 'hours': 0.50, 'MATRIX':{'tough':- 30.0, 'power':- 40.0, 'vigor':-120.0, 'regen':- 20.0, 'vital':- 30.0, 'metab':- 40.0, 'karma':+ 70.0, 'kcal':- 1.4, 'protein':- 0.056, 'sugar':- 0.200, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'crossfit' :{ 'hours': 0.50, 'MATRIX':{'tough':-120.0, 'power':- 90.0, 'vigor':-340.0, 'regen':- 90.0, 'vital':-120.0, 'metab':-120.0, 'karma':+195.0, 'kcal':- 5.8, 'protein':- 0.348, 'sugar':- 2.700, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'powerlifting' :{ 'hours': 0.25, 'MATRIX':{'tough':- 90.0, 'power':-130.0, 'vigor':-280.0, 'regen':- 40.0, 'vital':- 70.0, 'metab':- 90.0, 'karma':+145.0, 'kcal':- 3.4, 'protein':- 0.340, 'sugar':- 1.150, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
/* 'XXXX' :{ 'hours': 1.00, 'MATRIX':{'tough':- 1.0, 'power':- 1.0, 'vigor':- 1.0, 'regen':- 1.0, 'vital':- 1.0, 'metab':- 1.0, 'karma':+ 1.0, 'kcal':- 1.5, 'protein':- 0.015, 'sugar':- 0.300, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, }, */
/* EXPLORE ACTIONS */
'drive' :{ 'hours': 0.25, 'MATRIX':{'tough':- 0.2, 'power':- 0.2, 'vigor':- 1.2, 'regen':- 0.1, 'vital':- 0.4, 'metab':- 0.2, 'karma':- 1.0, 'kcal':- 2.0, 'protein':- 0.010, 'sugar':- 0.100, 'money':- 0.0, 'petro':- 2.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'search' :{ 'hours': 0.25, 'MATRIX':{'tough':- 0.2, 'power':- 0.4, 'vigor':- 1.6, 'regen':- 0.1, 'vital':- 0.2, 'metab':- 0.1, 'karma':- 6.0, 'kcal':- 2.0, 'protein':- 0.010, 'sugar':- 0.100, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'shop' :{ 'hours': 0.25, 'MATRIX':{'tough':- 0.2, 'power':- 0.4, 'vigor':- 1.6, 'regen':- 0.1, 'vital':- 0.2, 'metab':- 0.1, 'karma':- 0.1, 'kcal':- 1.5, 'protein':- 0.010, 'sugar':- 0.100, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
/* 'XXXX' :{ 'hours': 1.00, 'MATRIX':{'tough':- 1.0, 'power':- 1.0, 'vigor':- 1.0, 'regen':- 1.0, 'vital':- 1.0, 'metab':- 1.0, 'karma':- 0.0, 'kcal':- 1.5, 'protein':- 0.010, 'sugar':- 0.100, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, }, */
/* REST ACTIONS */ /* can she do this right now? */
'sleep' :{ 'hours': 7.00, 'MATRIX':{'tough':- 0.1, 'power':- 0.1, 'vigor':- 0.1, 'regen':- 0.1, 'vital':- 0.1, 'metab':- 0.1, 'karma':+ 0.1, 'kcal':- 0.3, 'protein':- 0.030, 'sugar':- 0.100, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'rest' :{ 'hours': 0.25, 'MATRIX':{'tough':- 0.1, 'power':- 0.1, 'vigor':- 0.2, 'regen':- 0.1, 'vital':- 0.1, 'metab':- 0.1, 'karma':+ 0.1, 'kcal':- 0.5, 'protein':- 0.020, 'sugar':- 0.100, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
'stretch' :{ 'hours': 0.10, 'MATRIX':{'tough':- 0.1, 'power':- 0.1, 'vigor':- 0.4, 'regen':- 0.1, 'vital':- 0.1, 'metab':- 0.1, 'karma':+ 0.1, 'kcal':- 2.0, 'protein':- 0.025, 'sugar':- 0.100, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, },
/* 'XXXX' :{ 'hours': 1.00, 'MATRIX':{'tough':- 0.1, 'power':- 0.1, 'vigor':- 0.1, 'regen':- 0.1, 'vital':- 0.1, 'metab':- 0.1, 'karma':+ 0.1, 'kcal':- 0.5, 'protein':- 0.005, 'sugar':- 0.100, 'money':- 0.0, 'petro':- 0.0,}, 'onAction':function(hours) { hours=hours||1; }, } */
/* END setup.ACTIONS */ }>><<set setup.CHARS = {
/* CHARACTERS STORED SEPARATELY */
}>>
<<include 'setup.CHARS.Cindy_Phoenix'>>
<<include 'setup.CHARS.Tammi_X'>><<set setup.ROLES = {
'EQUIP_ZONES': {
'backpack' :{ 'desc':"...", },
'belt' :{ 'desc':"...", },
'bra' :{ 'desc':"...", },
'bracelet' :{ 'desc':"...", },
'coat' :{ 'desc':"...", },
'dress' :{ 'desc':"...", },
'earrings' :{ 'desc':"...", },
'glasses' :{ 'desc':"...", },
'gloves' :{ 'desc':"...", },
'hat' :{ 'desc':"...", },
'headband' :{ 'desc':"...", },
'handbag' :{ 'desc':"...", },
'jacket' :{ 'desc':"...", },
'mask' :{ 'desc':"...", },
'necklace' :{ 'desc':"...", },
'onepiece' :{ 'desc':"...", },
'overshirt' :{ 'desc':"...", },
'panties' :{ 'desc':"...", },
'pants' :{ 'desc':"...", },
'ring' :{ 'desc':"...", },
'sash' :{ 'desc':"...", },
'shirt' :{ 'desc':"...", },
'shoes' :{ 'desc':"...", },
'shorts' :{ 'desc':"...", },
'skirt' :{ 'desc':"...", },
'socks' :{ 'desc':"...", },
'undershirt' :{ 'desc':"...", },
'vest' :{ 'desc':"...", },
},
'ALL':{
'backpack' :{ 'type':"wearable" , 'subtype':"bag" , 'tags':[ ], 'desc':"...", },
'bedding' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'belt' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'book' :{ 'type':"media" , 'subtype':"readable" , 'tags':[ ], 'desc':"...", },
'booze' :{ 'type':"consumable" , 'subtype':"drink" , 'tags':[ 'buzz', 'depressant', 'toxin', ], 'desc':"...", },
'bra' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'bracelet' :{ 'type':"wearable" , 'subtype':"jewelry" , 'tags':[ ], 'desc':"...", },
'cabinet' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'canned food' :{ 'type':"consumable" , 'subtype':"food" , 'tags':[ 'canned', ], 'desc':"...", },
'CD' :{ 'type':"media" , 'subtype':"audio" , 'tags':[ 'CD', ], 'desc':"...", },
'chair' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'chemical' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'coat' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'computer' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'desk' :{ 'type':"furniture" , 'subtype':"work surface", 'tags':[ 'surface', ], 'desc':"...", },
'dress' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'drink' :{ 'type':"consumable" , 'subtype':"drink" , 'tags':[ ], 'desc':"...", },
'DVD' :{ 'type':"media" , 'subtype':"video" , 'tags':[ 'DVD', ], 'desc':"...", },
'earrings' :{ 'type':"wearable" , 'subtype':"jewelry" , 'tags':[ ], 'desc':"...", },
'engine oil' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'fastener' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'flooring' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'food' :{ 'type':"consumable" , 'subtype':"food" , 'tags':[ ], 'desc':"...", },
'frozen food' :{ 'type':"consumable" , 'subtype':"food" , 'tags':[ ], 'desc':"...", },
'game' :{ 'type':"media" , 'subtype':"playable" , 'tags':[ ], 'desc':"...", },
'glasses' :{ 'type':"wearable" , 'subtype':"gadget" , 'tags':[ ], 'desc':"...", },
'gloves' :{ 'type':"wearable" , 'subtype':"gadget" , 'tags':[ ], 'desc':"...", },
'hairstyle' :{ 'type':"styling" , 'subtype':"hair" , 'tags':[ ], 'desc':"...", },
'handbag' :{ 'type':"wearable" , 'subtype':"bag" , 'tags':[ ], 'desc':"...", },
'hard food' :{ 'type':"consumable" , 'subtype':"food" , 'tags':[ 'dehydrated', ], 'desc':"...", },
'hat' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'headband' :{ 'type':"wearable" , 'subtype':"gadget" , 'tags':[ ], 'desc':"...", },
'hygene' :{ 'type':"hygene" , 'subtype':"general" , 'tags':[ ], 'desc':"...", },
'jacket' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'magazine' :{ 'type':"media" , 'subtype':"readable" , 'tags':[ ], 'desc':"...", },
'makeup' :{ 'type':"styling" , 'subtype':"face" , 'tags':[ ], 'desc':"...", },
'mask' :{ 'type':"wearable" , 'subtype':"gadget" , 'tags':[ ], 'desc':"...", },
'nailpolish' :{ 'type':"styling" , 'subtype':"nails" , 'tags':[ ], 'desc':"...", },
'necklace' :{ 'type':"wearable" , 'subtype':"jewelry" , 'tags':[ ], 'desc':"...", },
'onepiece' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'overshirt' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'panties' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'pants' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'part' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'phone' :{ 'type':"mobile" , 'subtype':"gadget" , 'tags':[ 'phone', ], 'desc':"...", },
'plant' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'plumbing' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'powder' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'raw meat' :{ 'type':"consumable" , 'subtype':"food" , 'tags':[ 'raw', 'meat', ], 'desc':"...", },
'ring' :{ 'type':"wearable" , 'subtype':"jewelry" , 'tags':[ ], 'desc':"...", },
'sash' :{ 'type':"wearable" , 'subtype':"jewelry" , 'tags':[ ], 'desc':"...", },
'seed' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'shelf' :{ 'type':"furniture" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'shirt' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'shoes' :{ 'type':"wearable" , 'subtype':"gadget" , 'tags':[ ], 'desc':"...", },
'shorts' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'skirt' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'smartphone' :{ 'type':"mobile" , 'subtype':"gadget" , 'tags':[ 'phone', 'apps', ], 'desc':"...", },
'socks' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'software' :{ 'type':"" , 'subtype':"" , 'tags':[ ], 'desc':"...", },
'stand' :{ 'type':"furniture" , 'subtype':"" , 'tags':[ 'surface', ], 'desc':"...", },
'table' :{ 'type':"furniture" , 'subtype':"" , 'tags':[ 'surface', ], 'desc':"...", },
'tool' :{ 'type':"tool" , 'subtype':"gadget" , 'tags':[ ], 'desc':"...", },
'towel' :{ 'type':"wearable" , 'subtype':"gadget" , 'tags':[ ], 'desc':"...", },
'undershirt' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
'vest' :{ 'type':"wearable" , 'subtype':"clothing" , 'tags':[ ], 'desc':"...", },
}
/* END setup.ROLES */ }>><<set setup.AISLES={
'D01':{
'name':"APPAREL",
'desc':"...",
'AISLES':{
'D01_A01':{ 'name':"ACCESSORIES" , 'desc':"...", },
'D01_A02':{ 'name':"ATHLETIC WEAR" , 'desc':"...", },
'D01_A03':{ 'name':"BACKPACKS" , 'desc':"...", },
'D01_A04':{ 'name':"COATS" , 'desc':"...", },
'D01_A05':{ 'name':"DRESSES" , 'desc':"...", },
'D01_A06':{ 'name':"HANDBAGS" , 'desc':"...", },
'D01_A07':{ 'name':"HEADWEAR" , 'desc':"...", },
'D01_A08':{ 'name':"JEWELRY" , 'desc':"...", },
'D01_A09':{ 'name':"PANTS" , 'desc':"...", },
'D01_A10':{ 'name':"SHIRTS" , 'desc':"...", },
'D01_A11':{ 'name':"SHOES" , 'desc':"...", },
'D01_A12':{ 'name':"SWIMWEAR" , 'desc':"...", },
'D01_A13':{ 'name':"UNDERWEAR" , 'desc':"...", },
},
}, /* END APPAREL */
'D02':{
'name':"AUTOMOTIVE",
'desc':"...",
'AISLES':{
'D02_A01':{ 'name':"ACCESSORIES" , 'desc':"...", },
'D02_A02':{ 'name':"FLUIDS" , 'desc':"...", },
'D02_A03':{ 'name':"PARTS" , 'desc':"...", },
'D02_A04':{ 'name':"TOOLS" , 'desc':"...", },
},
}, /* END AUTOMOTIVE */
'D03':{
'name':"ELECTRONICS",
'desc':"...",
'AISLES':{
'D03_A01':{ 'name':"APPLIANCES" , 'desc':"...", },
'D03_A02':{ 'name':"BOOKS" , 'desc':"...", },
'D03_A03':{ 'name':"CELL PHONES" , 'desc':"...", },
'D03_A04':{ 'name':"COMPUTER ACCESSORIES" , 'desc':"...", },
'D03_A05':{ 'name':"COMPUTERS" , 'desc':"...", },
'D03_A06':{ 'name':"MAGAZINES" , 'desc':"...", },
'D03_A07':{ 'name':"MOVIES" , 'desc':"...", },
'D03_A08':{ 'name':"MUSIC" , 'desc':"...", },
'D03_A09':{ 'name':"SOFTWARE" , 'desc':"...", },
'D03_A10':{ 'name':"VIDEO GAMES" , 'desc':"...", },
},
}, /* END ELECTRONICS */
'D04':{
'name':"FURNITURE",
'desc':"...",
'AISLES':{
'D04_A01':{ 'name':"CARPETS" , 'desc':"...", },
'D04_A02':{ 'name':"CHAIRS" , 'desc':"...", },
'D04_A03':{ 'name':"DESKS" , 'desc':"...", },
'D04_A04':{ 'name':"SHELVES" , 'desc':"...", },
'D04_A05':{ 'name':"TABLES" , 'desc':"...", },
},
}, /* END FURNITURE */
'D05':{
'name':"GROCERY",
'desc':"...",
'AISLES':{
'D05_A01':{ 'name':"ALCOHOL" , 'desc':"...", },
'D05_A02':{ 'name':"BAKED GOODS" , 'desc':"...", },
'D05_A03':{ 'name':"BAKING" , 'desc':"...", },
'D05_A04':{ 'name':"BEVERAGES" , 'desc':"...", },
'D05_A05':{ 'name':"CANDY" , 'desc':"...", },
'D05_A06':{ 'name':"CANNED GOODS" , 'desc':"...", },
'D05_A07':{ 'name':"CEREAL" , 'desc':"...", },
'D05_A08':{ 'name':"DAIRY" , 'desc':"...", },
'D05_A09':{ 'name':"DELI" , 'desc':"...", },
'D05_A10':{ 'name':"FROZEN" , 'desc':"...", },
'D05_A11':{ 'name':"GRAINS & PASTA" , 'desc':"...", },
'D05_A12':{ 'name':"MEATS" , 'desc':"...", },
'D05_A13':{ 'name':"PRODUCE" , 'desc':"...", },
'D05_A14':{ 'name':"SNACKS" , 'desc':"...", },
},
}, /* END GROCERY */
'D06':{
'name':"GARDEN",
'desc':"...",
'AISLES':{
'D06_A01':{ 'name':"MASONRY" , 'desc':"...", },
'D06_A02':{ 'name':"PATIO FURNITURE" , 'desc':"...", },
'D06_A03':{ 'name':"POTS" , 'desc':"...", },
'D06_A04':{ 'name':"PLANTS" , 'desc':"...", },
'D06_A05':{ 'name':"SEEDS" , 'desc':"...", },
'D06_A06':{ 'name':"SOIL" , 'desc':"...", },
},
}, /* END GARDEN */
'D07':{
'name':"HARDWARE",
'desc':"...",
'AISLES':{
'D07_A01':{ 'name':"BITS & BOLTS" , 'desc':"...", },
'D07_A02':{ 'name':"ELECTRICAL" , 'desc':"...", },
'D07_A03':{ 'name':"FIXTURES" , 'desc':"...", },
'D07_A04':{ 'name':"HVAC" , 'desc':"...", },
'D07_A05':{ 'name':"PLUMBING" , 'desc':"...", },
'D07_A06':{ 'name':"POOL" , 'desc':"...", },
'D07_A07':{ 'name':"TOOLS" , 'desc':"...", },
},
}, /* END HARDWARE */
'D08':{
'name':"HOUSEHOLD",
'desc':"...",
'AISLES':{
'D08_A01':{ 'name':"APPLIANCES" , 'desc':"...", },
'D08_A02':{ 'name':"BEDDING" , 'desc':"...", },
'D08_A03':{ 'name':"BOARDGAMES" , 'desc':"...", },
'D08_A04':{ 'name':"CLEANERS" , 'desc':"...", },
'D08_A05':{ 'name':"COOKWARE" , 'desc':"...", },
'D08_A06':{ 'name':"CRAFTS" , 'desc':"...", },
'D08_A07':{ 'name':"DISHES" , 'desc':"...", },
'D08_A08':{ 'name':"FLOOR CARE" , 'desc':"...", },
'D08_A09':{ 'name':"LINENS" , 'desc':"...", },
'D08_A10':{ 'name':"PAPER GOODS" , 'desc':"...", },
'D08_A11':{ 'name':"STORAGE" , 'desc':"...", },
'D08_A12':{ 'name':"TOYS" , 'desc':"...", },
'D08_A13':{ 'name':"WINDOWS" , 'desc':"...", },
},
}, /* END HOUSEHOLD */
'D09':{
'name':"HYGENE",
'desc':"...",
'AISLES':{
'D09_A01':{ 'name':"GENERAL" , 'desc':"...", },
'D09_A02':{ 'name':"HAIR CARE" , 'desc':"...", },
'D09_A03':{ 'name':"MAKEUP" , 'desc':"...", },
'D09_A04':{ 'name':"NAILS" , 'desc':"...", },
'D09_A05':{ 'name':"ORAL CARE" , 'desc':"...", },
'D09_A06':{ 'name':"PERSONAL CARE" , 'desc':"...", },
'D09_A07':{ 'name':"SKIN CARE" , 'desc':"...", },
},
}, /* END HYGENE */
'D10':{
'name':"OFFICE",
'desc':"...",
'AISLES':{
'D10_A01':{ 'name':"BINDINGS" , 'desc':"...", },
'D10_A02':{ 'name':"BRIEFCASES" , 'desc':"...", },
'D10_A03':{ 'name':"FILE CABINETS" , 'desc':"...", },
'D10_A04':{ 'name':"LUGGAGE" , 'desc':"...", },
'D10_A05':{ 'name':"NOTEBOOKS" , 'desc':"...", },
'D10_A06':{ 'name':"PAPER" , 'desc':"...", },
'D10_A07':{ 'name':"TOOLS" , 'desc':"...", },
'D10_A08':{ 'name':"WRITING" , 'desc':"...", },
},
}, /* END PHARMACY */
'D11':{
'name':"PHARMACY",
'desc':"...",
'AISLES':{
'D11_A01':{ 'name':"COUNTER" , 'desc':"...", },
'D11_A02':{ 'name':"FIRST AID" , 'desc':"...", },
'D11_A03':{ 'name':"GADGETS" , 'desc':"...", },
'D11_A04':{ 'name':"HEAD & FLU" , 'desc':"...", },
'D11_A05':{ 'name':"SUPPLEMENTS" , 'desc':"...", },
},
}, /* END PHARMACY */
'D12':{
'name':"SEASONAL",
'desc':"...",
'AISLES':{
'D12_A01':{ 'name':"VALENTINES" , 'desc':"...", },
'D12_A02':{ 'name':"ST PADDYS/EASTER" , 'desc':"...", },
'D12_A03':{ 'name':"SUMMER/JULY 4th" , 'desc':"...", },
'D12_A04':{ 'name':"BACK TO SCHOOL" , 'desc':"...", },
'D12_A05':{ 'name':"HALLOWEEN" , 'desc':"...", },
'D12_A06':{ 'name':"THANKSGIVING" , 'desc':"...", },
'D12_A07':{ 'name':"BLACK FRIDAY" , 'desc':"...", },
'D12_A08':{ 'name':"XMAS/NEW YEAR" , 'desc':"...", },
},
}, /* END SEASONAL & PROMOTIONAL */
'D13':{
'name':"SPORTING GOODS",
'desc':"...",
'AISLES':{
'D13_A01':{ 'name':"BIKING" , 'desc':"...", },
'D13_A02':{ 'name':"CAMPING" , 'desc':"...", },
'D13_A03':{ 'name':"EXERCISE MACHINES" , 'desc':"...", },
'D13_A04':{ 'name':"FISHING" , 'desc':"...", },
'D13_A05':{ 'name':"GADGETS" , 'desc':"...", },
'D13_A06':{ 'name':"HUNTING" , 'desc':"...", },
'D13_A07':{ 'name':"KEYS" , 'desc':"...", },
'D13_A08':{ 'name':"SPORTS EQUIPMENT" , 'desc':"...", },
'D13_A09':{ 'name':"WEIGHTS" , 'desc':"...", },
},
}, /* END SPORTING GOODS */
/* END setup.AISLES */ }>><<set setup.CHARS['Cindy Phoenix'] = {
'NAMES': {
'first' : "Cindy",
'birth' : "Cindy Williams",
'stage' : "Cindy Campbell",
'online' : "Cindy Phoenix",
},
'TRAITS':{
/* 'race' : "human", */
/* 'skin_type' : "", */
/* 'skin_color' : "", */
/* 'skin_condition' : "", */
/* 'hair_length' : "", */
/* 'hair_color' : "", */
/* 'hair_style' : "", */
/* 'hair_condition' : "", */
/* 'eye_color' : "", */
/* 'eye_condition' : "", */
/* 'face' : "", */
},
'PASSAGES':{
'start' : "START CINDY",
'home' : "LIVING IN CAR",
},
'STATS':{
/* PRIMARY STATS - used to calc maxes for secondary stats */
'STR' : 3.0,
'END' : 3.0,
'SPD' : 3.0,
'PHY' : 3.0,
'level' : 3.0,
'workout_hrs': 0.1,
'karmic_well': 12,
},
'MATRIX':{
/* SECONDARY STATS - current values (renewable resources) */
'tough' : 9.0, /* STRxEND - defense, resist injury */
'power' : 9.0, /* STRxSPD - offense, lift */
'vigor' : 9.0, /* STRxPHY - stamina, safe workload */
'regen' : 9.0, /* ENDxSPD - healing factor */
'vital' : 9.0, /* ENDxPHY - health */
'metab' : 9.0, /* SPDxPHY - energy/stamina recovery */
/* RESOURCES - (non-stat/non-renewable) */
'karma' : 1.0, /* ? unit */
'kcal' : 1100, /* food calories consumed, total */
'protein' : 20.0, /* grams consumed, nutrition */
'sugar' : 80.0, /* grams consumed, empty calories */
'money' : 2.89, /* */
'petro' : 10.0, /* gallons, remaining */
},
'METRICS':{
'age' : 27.0, /* years */
'base_ht' : 63.0, /* height, inches */
'ht' : 63.0, /* height, inches */
'wt' : 98.0, /* weight, pounds */
'adj_wt' : 98.0, /* adjusted weight, pounds */
'bicep' : 6.0, /* inches; max-curl = power*bicep/30; reps - max/3 */
'quads' : 13.0, /* inches; max-squat = power*quad/15; reps - max/3 */
'chest' : 26.0, /* */
'bust' : 2, /* variation from wt/35#, used to calculate cup size */
'cup' : "a", /* */
'waist' : 19.0, /* */
'hips' : 27.0, /* */
'BMI' : 'not-set', /* */
'bodyfat' : 'not-set', /* */
},
'STATUS':{
'thin':"",
'depressed':"",
'tired':"",
},
'STUFF':{
/* lost everything but the clothes on her back! (and whatever is in the trunk of her car) */
/* ID:uses */
'D01_A01_I02': 30, /* hair-tyes */
'D01_A09_I02': 60, /* jeans */
'D01_A10_I01': 30, /* blouse */
'D01_A13_I02': 50, /* plain white bra */
'D01_A13_I03': 50, /* plain white panties */
'D01_A13_I01': 13, /* ankle socks */
'D05_A05_I01': 1, /* chocolate bar */
'D08_A09_I03': 30, /* washcloth */
},
'EQUIP':{
/* SLOT:ID */
'bra' :"D01_A13_I02",
'panties' :"D01_A13_I03",
'pants' :"D01_A09_I02",
'overshirt' :"D01_A10_I01",
'socks' :"D01_A13_I01",
},
'PROPERTY':{
'car':{},
},
'STATE':{
'saveVersion' : 0.2,
'feedbackQueue' : [],
'Date' : new Date(),
'lastPassage' : null,
'lastExercise' : null,
'lastActivity' : null,
'lastAction' : null,
'lastItem' : null,
},
/* END setup.CHARS['Cindy Phoenix'] */ }>><<set setup.PASSAGES={
'GO FOR A WALK' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'GO FOR A JOG' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'GO FOR A RUN' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'DO AEROBICS' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'DO CALISTHENICS' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'DO YOGA' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'POST WORKOUT' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'PUSH YOURSELF' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT APPAREL' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT AUTOMOTIVE' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT ELECTRONICS' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT FURNITURE' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT GARDEN' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT GROCERY' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT HARDWARE' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT HOUSEHOLD' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT HYGENE' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT OFFICE' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT PHARMACY' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT SEASONAL' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'CHECKOUT SPORTING GOODS' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'ENTER BATHROOM' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'FILLOUT APPLICATION' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'LIST ITEMS FOR AISLE' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'EQUIP' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'FOOD' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'STUFF' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'SPEND KARMA' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'SELF' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'GO HOME' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'LIVING IN CAR' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'LIVING IN MOTEL' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'SLEEP IN CAR' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'SLEEP IN BED' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'REST A BIT' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
'LOOK FOR CHANGE' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 100; },
'bill_RANDOM' : function() { return 10; },
'wallet_RANDOM' : function() { return 1; },
'cart_RANDOM' : function() { return 10; },
'car_RANDOM' : function() { return 10; },
},
},
'SHOP S-MART' :{
'setup' : function() { return null; },
'ENCOUNTERS':{
'nothing' : function() { return 10; },
},
},
/* passage:{ ENCOUNTERS:{encounter:weight} } */
}>><<set setup.ENCOUNTERS={
'nothing':{
/* sub-types inline */
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* LOOSE BILLS */
'bill_MASTER':{
'setup' : function() { return ''; },
'replace' : true,
'beforePassage' : function() { return ''; },
'replacePassage' : function(bill, pre, post) {
pre=pre||'<p>'; post=post||'</p>';
setup.ENGINE.do_status_update();
return pre +' '+ "You find "
+ either(
'a 1928',
'a 1933',
'a 1946',
'a 1954',
'a 1967',
'a 1971',
'a 1978',
'a 1983',
'a 1988',
'a 1994',
'a 1997',
'a 2001',
'a 2004',
'a 2009',
'a 2013',
'a 2016',
'a 2018',
'a 2044... wait, what?',
'a',
'an old',
'a clean',
'a fresh',
'a lemon scented',
'a lavender scented',
'a stained',
'a taped',
'a very old',
'a worn',
'a crumpled',
'a soggy',
'a torn',
'a dirty',
'a grimey',
'a sticky',
'a wet',
'a soggy',
'a damp',
'a faded',
'a crisp',
'a new',
'a colored in',
'a written on',
'another',
'what looks like a',
', could it be? Another',
'yet another',
'one more',
'a singed',
'a much needed',
'a desperately needed',
'a lucky',
'a cursed',
'a bloody',
'a yellowed',
'a half-buried',
'a burned'
) +" "+ bill +", "
+ either(
'with a corner missing, ',
'folded',
'wadded',
'crumpled',
'half-buried',
'lying flat',
'poking out',
'dropped',
'jammed',
'stuffed',
'torn',
'still smoking',
'stuck under a rock',
'stuck to a receipt',
'stuck',
'rolled up',
'carefully folded',
'lying',
) +' '+ either(
'under a tire.',
'in a basket.',
'behind the news-bin.',
'on the sidewalk.',
'in a bush.',
'in the weeds.',
'in the grass.',
'in a flower bed.',
'under a tree.',
'under a lamp post.',
'in the propane return.',
'behind a vending machine.',
'in somebody's pocket... I wonder if they noticed.',
'by the aracade.',
'in front of the Blu Box.',
'in a dusty old wallet... don&t ask where you found the wallet.',
'in the rocks.',
'in the wood chips, beneath the stop sign.',
'under a ride.',
'in a plastic bag, blowing across the lot.',
'in a paper sack... smells like cheap burbon.',
'hidden in an old hat.',
'in your pocket. Wow, where did that come from?',
'in your hand... it was there the whole time.',
'scratching your hip... wait, who put it there?',
'lying under the counter, when you stop in to use the restroom.',
'stuck to your foot.',
'under a bench',
'blowing across the parking lot, almost missed it as a gust kicked up.',
'in a tip jar.',
'in a collection jar.',
'near a school ROTC fundraiser.',
'in a blind musician's guitar case.',
'sitting on the floorboard of an unlocked car... good thing you were there to catch this, there's no telling what someone else might have done.',
'in the trash... yuck.'
) +' '+ either(
'',
'Imagine that.',
'You can only imagine where its been.',
'Huh.',
'Must be your lucky day!',
'Only 10,000 more to go...',
'That guy looks familiar.',
'You could swear you recognized that person.',
'Someone made him look like that dude from that board game... with the property...',
'You're rich!.',
'Something doesn't seem quite right.',
'You almost feel bad about it.',
'A thrilling experience!',
'Momma's gonna eat tonight!',
'Its kinda small... maybe you should throw it back?',
'This calls for celebration!',
'Someone drew a mustache.',
'Someone drew in shades... the president never looked so cool.',
'Someone drew boobs on it... actually, they did a good job.',
'Wait, is that a swastika? Where did this money come from?',
'The face is colored in.',
'Why is there gum on this?',
'Wait, was that a cop?',
'Smells like fish.',
'You've got a bad feeling about this.',
'The day's looking up!',
'Its gonna be a great day!',
'Wait, was this in the garbage?',
'You wonder what happened to its owner.'
) +' '+ post;
},
'afterPassage' : function() { return ''; },
},
'bill_1':{
'setup' : function() { return ''; },
'replace' : true,
'beforePassage' : function() { return ''; },
'replacePassage' : function() {
$GAMEDATA.PC.MATRIX.money += 1.00;
$GAMEDATA.PC.MATRIX.karma -= 0.10;
return setup.ENCOUNTERS.bill_MASTER.replacePassage(either(
"$1 bill", "$1 bill", "$1 bill", "$1 bill",
"$1 bill", "$1 bill", "$1 bill", "$1 bill",
"dollar", "dollar", "dollar", "dollar",
"dollar bill", "dollar bill",
"one dollar", "one dollar",
"one dollar", "one dollar",
"bill- enough to go out tonight, anywhere that has a dollar menu",
"old Georgie",
"Washington",
"buck", "buck", "buck", "buck",
"dolla",
"one hundred cent bill"
));
},
'afterPassage' : function() { return ''; },
},
'bill_2':{
'setup' : function() { return ''; },
'replace' : true,
'beforePassage' : function() { return ''; },
'replacePassage' : function() {
$GAMEDATA.PC.MATRIX.money += 2.00;
$GAMEDATA.PC.MATRIX.karma += 100.00;
return setup.ENCOUNTERS.bill_MASTER.replacePassage(either(
"$2 bill", "$2 bill", "$2 bill",
"two dollar bill", "two dollar bill",
"T.J.",
"Jefferson",
"lucky $2 bill"
));
},
'afterPassage' : function() { return ''; },
},
'bill_5':{
'setup' : function() { return ''; },
'replace' : true,
'beforePassage' : function() { return ''; },
'replacePassage' : function() {
$GAMEDATA.PC.MATRIX.money += 5.00;
$GAMEDATA.PC.MATRIX.karma -= 0.50;
return setup.ENCOUNTERS.bill_MASTER.replacePassage(either(
"$5 bill", "$5 bill", "$5 bill", "$5 bill",
"$5 bill", "$5 bill", "$5 bill", "$5 bill",
"fiver",
"five", "five", "five",
"bill- enough to go out tonight, at least for fast food",
"five dollar bill", "five dollar bill",
"Honest Abe",
"Lincoln"
));
},
'afterPassage' : function() { return ''; },
},
'bill_10':{
'setup' : function() { return ''; },
'replace' : true,
'beforePassage' : function() { return ''; },
'replacePassage' : function() {
$GAMEDATA.PC.MATRIX.money += 10.00;
$GAMEDATA.PC.MATRIX.karma -= 1.00;
return setup.ENCOUNTERS.bill_MASTER.replacePassage(either(
"$10 bill", "$10 bill", "$10 bill", "$10 bill",
"$10 bill", "$10 bill", "$10 bill", "$10 bill",
"ten", "ten", "ten", "ten",
"bill- enough to go out tonight, to a small cafe",
"ten dollar bill", "ten dollar bill",
"My man, Xander Hami",
"Hamilton",
"... yeah, don't know that guy"
));
},
'afterPassage' : function() { return ''; },
},
'bill_20':{
'setup' : function() { return ''; },
'replace' : true,
'beforePassage' : function() { return ''; },
'replacePassage' : function() {
$GAMEDATA.PC.MATRIX.money += 20.00;
$GAMEDATA.PC.MATRIX.karma -= 2.00;
return setup.ENCOUNTERS.bill_MASTER.replacePassage(either(
"$20 bill", "$20 bill", "$20 bill", "$20 bill",
"$20 bill", "$20 bill", "$20 bill", "$20 bill",
"twenty", "twenty",
"bill- enough for half a tank",
"bill- enough to go out tonight, to a restaurant",
"twenty dollar bill", "twenty dollar bill",
"Andy J",
"Jackson"
));
},
'afterPassage' : function() { return ''; },
},
'bill_50':{
'setup' : function() { return ''; },
'replace' : true,
'beforePassage' : function() { return ''; },
'replacePassage' : function() {
$GAMEDATA.PC.MATRIX.money += 50.00;
$GAMEDATA.PC.MATRIX.karma -= 5.00;
return setup.ENCOUNTERS.bill_MASTER.replacePassage(either(
"$50 bill", "$50 bill", "$50 bill", "$50 bill",
"$50 bill", "$50 bill", "$50 bill", "$50 bill",
"fifty", "fifty",
"bill- enough to rent a room",
"bill- enough to go out tonight, to a fancy restaurant",
"fifty dollar bill", "fifty dollar bill",
"Ulysses",
"Grant"
));
},
'afterPassage' : function() { return ''; },
},
'bill_100':{
'setup' : function() { return ''; },
'replace' : true,
'beforePassage' : function() { return ''; },
'replacePassage' : function() {
$GAMEDATA.PC.MATRIX.money += 100.00;
$GAMEDATA.PC.MATRIX.karma -= 10.00;
return setup.ENCOUNTERS.bill_MASTER.replacePassage(either(
"$100 bill", "$100 bill", "$100 bill", "$100 bill",
"$100 bill", "$100 bill", "$100 bill", "$100 bill",
"hundred", "hundred",
"bill- your salvation",
"hundred clams",
"hundred dollar bill", "hundred dollar bill",
"hundred bucks", "hundred bucks",
"C-note",
"portrait of your old friend, Ben",
"Benjamin",
"Franklin"
));
},
'afterPassage' : function() { return ''; },
},
'bill_MULTI':{
/* run bill_RANDOM 2x ... repeatable */
'setup' : function() { return ''; },
'replace' : true,
'beforePassage' : function() { return ''; },
'replacePassage' : function() {
return setup.ENCOUNTERS.bill_RANDOM.replacePassage() + setup.ENCOUNTERS.bill_RANDOM.replacePassage();
},
'afterPassage' : function() { return ''; },
},
'bill_RANDOM':{
'setup' : function() { return ''; },
'replace' : true,
'VARIATIONS' : {
'bill_1' : 40,
'bill_2' : 1,
'bill_5' : 25,
'bill_10' : 15,
'bill_20' : 10,
'bill_50' : 4,
'bill_100' : 2,
'bill_MULTI' : 10,
},
'beforePassage' : function() { return ''; },
'replacePassage' : function() {
var sub_ENCOUNTERS = setup.ENCOUNTERS.bill_RANDOM.VARIATIONS;
var sub_total = 0;
var sub_spin = Math.random();
var sub_WHEEL = {};
Object.keys(sub_ENCOUNTERS).forEach(function(name) {
sub_total+=sub_ENCOUNTERS[name];
sub_WHEEL[sub_total]=name;
});
/* alert(JSON.stringify(sub_ENCOUNTERS)); */
/* alert(JSON.stringify(sub_WHEEL)); */
sub_spin=Math.round(sub_spin*sub_total);
/* find the spin in the wheel... */
var sub_encounter = sub_WHEEL[Object.keys(sub_WHEEL).find(function(ticks) { return ticks>=sub_spin; })];
return setup.ENCOUNTERS[sub_encounter].replacePassage();
},
'afterPassage' : function() { return ''; },
},
/* END LOOSE BILLS */
/* WALLETS */
'wallet_MASTER':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'wallet_john_smith':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'wallet_DYNAMIC':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'wallet_RANDOM':{
'setup' : function() { return ''; },
'replace' : false,
'VARIATIONS' : {
'wallet_john_smith' : 1,
'wallet_DYNAMIC' :10,
},
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END WALLETS */
/* SHOPPING CARTS */
'cart_MASTER':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'cart_trash':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'cart_money':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'cart_fastfood':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'cart_loose_item':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'cart_1bag':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'cart_3bags':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'cart_bob':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'cart_full':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'cart_purse':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'cart_RANDOM':{
'setup' : function() { return ''; },
'replace' : false,
'VARIATIONS' : {
'cart_trash' :30,
'cart_money' : 3,
'cart_fastfood' :15,
'cart_loose_item' :20,
'cart_1bag' :10,
'cart_3bags' : 6,
'cart_bob' : 4,
'cart_full' : 1,
'cart_purse' : 2,
},
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END SHOPPING CARTS */
/* xxxx */
'car_MASTER':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_alarm':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_body':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_broken_window':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_child':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_customer_weak':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_dead':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_domestic':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_doubleparked':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_fire':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_firelane':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_flat':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_hit':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_leaking':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_lights':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_not_handicap':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_pet':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_running':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_runover':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_sex':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_sleeping':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_theft':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
'car_RANDOM':{
'setup' : function() { return ''; },
'replace' : false,
'VARIATIONS' : {
'car_alarm' :10,
'car_body' :10,
'car_broken_window' :10,
'car_child' :10,
'car_customer_weak' :10,
'car_dead' :10,
'car_domestic' :10,
'car_doubleparked' :10,
'car_fire' :10,
'car_firelane' :10,
'car_flat' :10,
'car_hit' :10,
'car_leaking' :10,
'car_lights' :10,
'car_not_handicap' :10,
'car_pet' :10,
'car_running' :10,
'car_runover' :10,
'car_sex' :10,
'car_sleeping' :10,
'car_theft' :10,
},
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
/* STALKERS */
'stalker':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END STALKERS */
/* xxxx */
'customer':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
/* xxxx */
'employee':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
/* xxxx */
'vagrant':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
/* xxxx */
'drifter':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
/* xxxx */
'grifter':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
/* xxxx */
'crafter':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
/* xxxx */
'vendor':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
/* xxxx */
'drunk':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
/* xxxx */
'cop':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
/* xxxx */
'gymrat':{
'setup' : function() { return ''; },
'replace' : false,
'beforePassage' : function() { return ''; },
'replacePassage' : function() { return ''; },
'afterPassage' : function() { return ''; },
},
/* END xxxx */
}>><<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
NORMAL PASSAGE
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
PASSAGE EXIT <h2><<print setup.AISLES[_dept].name>></h2>
<h3><<print setup.AISLES[_dept].desc>></h3>
<<for _aisle_id, _data range setup.AISLES[_dept].AISLES>>
<<if (_aisle == _aisle_id)>>
<<include 'LIST ITEMS FOR AISLE'>>
<<else>>
<p class='narrow'><<print "
<<link '" + _data.name + "'>>
<<set _aisle to '" + _aisle_id + "'>>
<<replace '#passages'>><<include '"+ State.passage +"'>><</replace>>
<</link>>
">></p>
<</if>>
<</for>>
Double-click this passage to edit it.Double-click this passage to edit it.<<set setup.CHARS['Tammi X'] = {
'NAMES': {
'first' : "Tammi",
/* gets replaced with creed selection */
'birth' : "Tammi X",
/* gets replaced with husband creed selection */
'married' : "Tammi X",
},
'TRAITS':{
/* 'race' : "human", */
/* 'skin_type' : "", */
/* 'skin_color' : "", */
/* 'skin_condition' : "", */
/* 'hair_length' : "", */
/* 'hair_color' : "", */
/* 'hair_style' : "", */
/* 'hair_condition' : "", */
/* 'eye_color' : "", */
/* 'eye_condition' : "", */
/* 'face' : "", */
},
'PASSAGES':{
'start' : "START TAMMI",
'home' : "LIVING IN MOTEL",
},
'STATS':{
/* PRIMARY STATS - used to calc maxes for secondary stats */
'STR' : 7.00,
'END' : 25.00,
'SPD' : 8.00,
'PHY' : 7.00,
'level' : 10.00,
'workout_hrs': 0.917,
'karmic_well': 40.00,
},
'MATRIX':{
/* SECONDARY STATS/ENERGY - current values (renewable resources) */
'tough' : 1.00, /* STRxEND - defense, resist injury */
'power' : 1.00, /* STRxSPD - offense, lift */
'vigor' : 1.00, /* STRxPHY - stamina, safe workload */
'regen' : 1.00, /* ENDxSPD - healing factor */
'vital' : 1.00, /* ENDxPHY - health */
'metab' : 1.00, /* SPDxPHY - energy/stamina recovery */
/* RESOURCES - (non-stat/non-renewable) */
'karma' : 110.00, /* ? unit */
'kcal' : 2300.00, /* food calories consumed, total */
'protein' : 60.00, /* grams consumed, nutrition */
'sugar' : 180.00, /* grams consumed, empty calories */
'money' : 198.00, /* */
'petro' : 0.000001, /* gallons, remaining */
},
'METRICS':{
'age' : 23.0, /* years */
'base_ht' : 67.0, /* height, inches */
'ht' : 67.0, /* height, inches */
'wt' : 154.0, /* weight, pounds */
'adj_wt' : 154.0, /* adjusted weight, pounds */
'bicep' : 8.0, /* inches; max-curl = power*bicep/30; reps - max/3 */
'quads' : 15.0, /* inches; max-squat = power*quad/15; reps - max/3 */
'chest' : 30.0, /* */
'bust' : 4, /* variation from wt/35#, used to calculate cup size */
'cup' : "D", /* */
'waist' : 28.0, /* */
'hips' : 33.0, /* */
'BMI' : 'not-set', /* */
'bodyfat' : 'not-set', /* */
},
'STATUS':{
'overweight':"",
'depressed':"",
'bruised':"",
'tired':"",
},
'STUFF':{
/* lost everything but the clothes on her back! (and whatever is in the trunk of her car) */
/* ID:uses */
'D01_A09_I02': 60, /* jeans */
'D01_A10_I01': 30, /* blouse */
'D01_A13_I02': 50, /* plain white bra */
'D01_A13_I03': 50, /* plain white panties */
'D01_A13_I01': 13, /* ankle socks */
'D05_A05_I02': 45, /* gummi bears */
},
'EQUIP':{
/* SLOT:ID */
'bra' :"D01_A13_I02",
'panties' :"D01_A13_I03",
'pants' :"D01_A09_I02",
'overshirt' :"D01_A10_I01",
'socks' :"D01_A13_I01",
},
'PROPERTY':{
/* no car */
},
'STATE':{
'saveVersion' : 0.2,
'feedbackQueue' : [],
'Date' : new Date(),
'lastPassage' : null,
'lastExercise' : null,
'lastActivity' : null,
'lastAction' : null,
'lastItem' : null,
},
/* END setup.CHARS['Tammi X'] */ }>><p>Tired of his shit, of getting hit for the thousandth time, you finally leave that asshole...</p>
<p>with no car, you catch a bus to another city to start a new life with little more than $200 in your pocket.</p>
<p>You find a cheap motel and rent a room for the night...</p>
<<run setup.ENGINE.setTime(21,1)>>
<p>You've got a lot to do tomorrow, perhaps you should [[go to bed->SLEEP IN BED]].</p><p class='narrow'><<if setup.ENGINE.canDo('search', 15/60)>>[[GO SHOPPING->SHOP S-MART]]<</if>></p>
<p class='narrow'><<if setup.ENGINE.canDo('search', 30/60)>>[[LOOK FOR CHANGE]]<</if>></p>
<p></p>
<p class='narrow'><<if setup.ENGINE.canDo('walk', 5/60, 0.5)>>[[GO FOR A WALK]]<</if>></p>
<p class='narrow'><<if setup.ENGINE.canDo('jog', 5/60, 0.5)>>[[GO FOR A JOG]]<</if>></p>
<p class='narrow'><<if setup.ENGINE.canDo('run', 5/60, 0.5)>>[[GO FOR A RUN]]<</if>></p>
<p></p>
<p class='narrow'><<if setup.ENGINE.canDo('calisthenics', 5/60, 0.5)>>[[DO CALISTHENICS]]<</if>></p><p class='narrow'><<if setup.ENGINE.canDo('sleep', 3) >>[[SLEEP->SLEEP IN BED]]<</if>></p>
<p class='narrow'><<if setup.ENGINE.canDo('rest', 15/60) >>[[REST A BIT]]<</if>></p>
<p></p>
<p class='narrow'><<if setup.ENGINE.canDo('search', 15/60) >>[[GO SHOPPING->SHOP S-MART]]<</if>></p>
<p class='narrow'><<if setup.ENGINE.canDo('search', 30/60) >>[[LOOK FOR CHANGE]]<</if>></p>
<p></p>
<p class='narrow'><<if setup.ENGINE.canDo('walk', 5/60, 0.5) >>[[GO FOR A WALK]]<</if>></p>
<p class='narrow'><<if setup.ENGINE.canDo('jog', 5/60, 0.5) >>[[GO FOR A JOG]]<</if>></p>
<p class='narrow'><<if setup.ENGINE.canDo('run', 5/60, 0.5) >>[[GO FOR A RUN]]<</if>></p>
<p></p>
<p class='narrow'><<if setup.ENGINE.canDo('aerobics', 5/60, 0.5) >>[[DO AEROBICS]]<</if>></p>
<p class='narrow'><<if setup.ENGINE.canDo('calisthenics', 5/60, 0.5) >>[[DO CALISTHENICS]]<</if>></p>
<p class='narrow'><<if setup.ENGINE.canDo('yoga', 5/60, 0.5) >>[[DO YOGA]]<</if>></p><p class='narrow'><<if setup.ENGINE.canDo('sleep', 3)>>[[SLEEP->SLEEP IN CAR]]<</if>></p>
<p class='narrow'><<if setup.ENGINE.canDo('rest', 15/60)>>[[REST A BIT]]<</if>></p>
<p></p>
<p class='narrow'><<if setup.ENGINE.canDo('drive', 15/60)>>[[DRIVE SOMEWHERE]]<</if>></p>You have nowhere to go...
[[RETURN->GO HOME]]<<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<run setup.ENGINE.doRest('sleep', 8); >><<set _time = setup.ENGINE.getTime();>>
<<if ("05:30"<_time)&&(_time<"07:30")>>
<<run setup.ENGINE.giveFeedback("You wake up at first light, but the store won't be open for another hour. What do you do?");>>
<</if>>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<br/>
<<goto "GO HOME">> <<if (_hrs) && (_lv)>>
<<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<run setup.ENGINE.doWorkout('aerobics', _hrs, _lv); >>
<<replace '#datetime'>><<include 'DATETIME'>><</replace>>
<p>You try to do some basic aerobics, but its not long till you're out of breath.</p>
<p></p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<<include "POST WORKOUT">>
<<else>>
<<print setup.ENGINE.workoutTable('aerobics'); >>
<p>[[RETURN->GO HOME]]</p>
<</if>>
<<if (_hrs) && (_lv)>>
<<print setup.ENGINE.setupPassage();>><<print setup.ENGINE.beforePassage();>>
<<if setup.ENCOUNTERS[_encounter].replace>><<print setup.ENGINE.replacePassage();>><<else>>
<<run setup.ENGINE.doWorkout('yoga', _hrs, _lv); >>
<<replace '#datetime'>><<include 'DATETIME'>><</replace>>
<p>You try to do some basic yoga, but its not long till you're out of breath.</p>
<p></p>
<</if>>
<<print setup.ENGINE.afterPassage();>>
<<if settings.debugInfo>><p>[encounter: _encounter ]</p><</if>>
<p></p>
<<include "POST WORKOUT">>
<<else>>
<<print setup.ENGINE.workoutTable('yoga'); >>
<p>[[RETURN->GO HOME]]</p>
<</if>>
Double-click this passage to edit it.<<set setup.DESC={ /* GAME ENGINE -- everything below this point */
'ht' : function(CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
var ht_desc = '';
switch(true) {
/* 1 inches */ case (CHAR.METRICS.ht < 1): ht_desc = "a bug"; break;
/* 6 inches */ case (CHAR.METRICS.ht < 6): ht_desc = "minuscule"; break;
/* 1 foot */ case (CHAR.METRICS.ht < 12): ht_desc = "tiny"; break;
/* 1 feet, 6 inches */ case (CHAR.METRICS.ht < 18): ht_desc = "little"; break;
/* 2 feet */ case (CHAR.METRICS.ht < 24): ht_desc = "a gnome"; break;
/* 2 feet, 6 inches */ case (CHAR.METRICS.ht < 30): ht_desc = "incredibly short"; break;
/* 3 feet */ case (CHAR.METRICS.ht < 36): ht_desc = "fantastically short"; break;
/* 3 feet, 6 inches */ case (CHAR.METRICS.ht < 42): ht_desc = "spectacularly short"; break;
/* 4 feet */ case (CHAR.METRICS.ht < 48): ht_desc = "exceedingly short"; break;
/* 4 feet, 6 inches */ case (CHAR.METRICS.ht < 54): ht_desc = "very short"; break;
/* 5 feet */ case (CHAR.METRICS.ht < 60): ht_desc = "rather short"; break;
/* 5 feet, 4 inches */ case (CHAR.METRICS.ht < 64): ht_desc = "a bit short"; break;
/* 1 mile */ case (CHAR.METRICS.ht > 63360): ht_desc = "a goddess"; break;
/* 100 feet */ case (CHAR.METRICS.ht > 1200): ht_desc = "a titaness"; break;
/* 75 feet */ case (CHAR.METRICS.ht > 900): ht_desc = "a kaiju"; break;
/* 50 feet */ case (CHAR.METRICS.ht > 600): ht_desc = "ginormous"; break;
/* 35 feet */ case (CHAR.METRICS.ht > 420): ht_desc = "a great giantess"; break;
/* 24 feet */ case (CHAR.METRICS.ht > 288): ht_desc = "a giantess"; break;
/* 13 feet, 4 inches */ case (CHAR.METRICS.ht > 160): ht_desc = "a mini-giantess"; break;
/* 10 feet */ case (CHAR.METRICS.ht > 120): ht_desc = "of Amazonian height"; break;
/* 8 feet, 6 inches */ case (CHAR.METRICS.ht > 102): ht_desc = "monumentally tall"; break;
/* 7 feet, 6 inches */ case (CHAR.METRICS.ht > 90): ht_desc = "spectacularly tall"; break;
/* 7 feet */ case (CHAR.METRICS.ht > 84): ht_desc = "exceedingly tall"; break;
/* 6 feet, 6 inches */ case (CHAR.METRICS.ht > 78): ht_desc = "very tall"; break;
/* 6 feet */ case (CHAR.METRICS.ht > 72): ht_desc = "rather tall"; break;
/* 5 feet, 8 inches */ case (CHAR.METRICS.ht > 68): ht_desc = "a bit tall"; break;
/* 5 feet 4-8 inches */ default: ht_desc = "of average height"; break;
}
return ht_desc;
},
'wt' : function(CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
var wt_desc = '';
/* account for variable-bodymass and percentage bodyfat */
switch(true) {
case (CHAR.METRICS.adj_wt < 0.1): wt_desc = "a few ounces"; break;
case (CHAR.METRICS.adj_wt < 1.0): wt_desc = "a pint"; break;
case (CHAR.METRICS.adj_wt < 10.0): wt_desc = "impossibly thin"; break;
case (CHAR.METRICS.adj_wt < 30.0): wt_desc = "inhumanly thin"; break;
case (CHAR.METRICS.adj_wt < 50.0): wt_desc = "a walking skeleton"; break;
case (CHAR.METRICS.adj_wt < 70.0): wt_desc = "starving"; break;
case (CHAR.METRICS.adj_wt < 85.0): wt_desc = "tiny"; break;
case (CHAR.METRICS.adj_wt < 100.0): wt_desc = "small"; break;
case (CHAR.METRICS.adj_wt < 115.0): wt_desc = "petite"; break;
case (CHAR.METRICS.adj_wt >2200000000.0): wt_desc = "over a megaton"; break;
case (CHAR.METRICS.adj_wt > 220000000.0): wt_desc = "[100 kt+]"; break;
case (CHAR.METRICS.adj_wt > 22000000.0): wt_desc = "[10 kt+]"; break;
case (CHAR.METRICS.adj_wt > 2200000.0): wt_desc = "over a kiloton"; break;
case (CHAR.METRICS.adj_wt > 1000000.0): wt_desc = "[500+ tons]"; break;
case (CHAR.METRICS.adj_wt > 750000.0): wt_desc = "[375+ tons]"; break;
case (CHAR.METRICS.adj_wt > 500000.0): wt_desc = "[250+ tons]"; break;
case (CHAR.METRICS.adj_wt > 250000.0): wt_desc = "[125+ tons]"; break;
case (CHAR.METRICS.adj_wt > 100000.0): wt_desc = "[50+ tons]"; break;
case (CHAR.METRICS.adj_wt > 80000.0): wt_desc = "[40+ tons]"; break;
case (CHAR.METRICS.adj_wt > 65000.0): wt_desc = "[32+ tons]"; break;
case (CHAR.METRICS.adj_wt > 50000.0): wt_desc = "[25+ tons]"; break;
case (CHAR.METRICS.adj_wt > 40000.0): wt_desc = "[20+ tons]"; break;
case (CHAR.METRICS.adj_wt > 30000.0): wt_desc = "[15+ tons]"; break;
case (CHAR.METRICS.adj_wt > 20000.0): wt_desc = "[10+ tons]"; break;
case (CHAR.METRICS.adj_wt > 15000.0): wt_desc = "[7+ tons]"; break;
case (CHAR.METRICS.adj_wt > 10000.0): wt_desc = "[5+ tons]"; break;
case (CHAR.METRICS.adj_wt > 7500.0): wt_desc = "[7500+]"; break;
case (CHAR.METRICS.adj_wt > 5000.0): wt_desc = "[5000+]"; break;
case (CHAR.METRICS.adj_wt > 3500.0): wt_desc = "[3500+]"; break;
case (CHAR.METRICS.adj_wt > 2000.0): wt_desc = "you weight a ton"; break;
case (CHAR.METRICS.adj_wt > 1500.0): wt_desc = "three quarter ton"; break;
case (CHAR.METRICS.adj_wt > 1000.0): wt_desc = "a half ton"; break;
case (CHAR.METRICS.adj_wt > 850.0): wt_desc = "colossal"; break;
case (CHAR.METRICS.adj_wt > 600.0): wt_desc = "enormous"; break;
case (CHAR.METRICS.adj_wt > 500.0): wt_desc = "a quarter ton"; break;
case (CHAR.METRICS.adj_wt > 400.0): wt_desc = "massive"; break;
case (CHAR.METRICS.adj_wt > 350.0): wt_desc = "huge"; break;
case (CHAR.METRICS.adj_wt > 300.0): wt_desc = "big"; break;
case (CHAR.METRICS.adj_wt > 250.0): wt_desc = "bulky"; break;
case (CHAR.METRICS.adj_wt > 200.0): wt_desc = "large"; break;
case (CHAR.METRICS.adj_wt > 165.0): wt_desc = "of solid build"; break;
default: wt_desc = "average weight"; break;
}
return wt_desc;
},
'height' : function(CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
return setup.DESC.ht(CHAR);
},
'weight' : function(CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
return setup.DESC.wt(CHAR);
},
/* 'race' : function(CHAR) {}, */
/* 'skin_type' : function(CHAR) {}, */
/* 'skin_color' : function(CHAR) {}, */
/* 'skin_condition' : function(CHAR) {}, */
/* 'hair_length' : function(CHAR) {}, */
/* 'hair_color' : function(CHAR) {}, */
/* 'hair_style' : function(CHAR) {}, */
/* 'hair_condition' : function(CHAR) {}, */
/* 'eye_color' : function(CHAR) {}, */
/* 'eye_condition' : function(CHAR) {}, */
/* 'face' : function(CHAR) {}, */
/* 'arms' : function(CHAR) {}, */
'bicep' : function(CHAR) {
return this.bicep_tone(CHAR) +" "+ this.bicep_size(CHAR);
},
'bicep_tone' : function(CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
var bicep_desc = '';
switch(true) {
case ($GAMEDATA.PC.METRICS.bodyfat < 5): bicep_desc = 'diamond'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 10): bicep_desc = 'rock-hard'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 15): bicep_desc = 'solid'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 20): bicep_desc = 'firm'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 25): bicep_desc = 'toned'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 30): bicep_desc = 'smooth'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 35): bicep_desc = 'soft'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 40): bicep_desc = 'squishy'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 45): bicep_desc = 'loose'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 50): bicep_desc = 'jiggly'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 60): bicep_desc = 'flabby'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 70): bicep_desc = 'pudgy'; break;
case ($GAMEDATA.PC.METRICS.bodyfat < 80): bicep_desc = 'fat'; break;
default: bicep_desc = 'bloated'; break;
}
return bicep_desc;
},
'bicep_size' : function(CHAR) {
CHAR=CHAR||$GAMEDATA.PC;
var bi_desc = '';
switch(true) {
case (CHAR.METRICS.bicep > 36): bi_desc = "impossibly large"; break;
case (CHAR.METRICS.bicep > 33): bi_desc = "insane"; break;
case (CHAR.METRICS.bicep > 30): bi_desc = "inhuman"; break;
case (CHAR.METRICS.bicep > 27): bi_desc = "colossal"; break;
case (CHAR.METRICS.bicep > 24): bi_desc = "freakish"; break;
case (CHAR.METRICS.bicep > 21): bi_desc = "tremendous"; break;
case (CHAR.METRICS.bicep > 18): bi_desc = "massive"; break;
case (CHAR.METRICS.bicep > 15): bi_desc = "huge"; break;
case (CHAR.METRICS.bicep > 12): bi_desc = "large"; break;
case (CHAR.METRICS.bicep > 9): bi_desc = "modest"; break;
case (CHAR.METRICS.bicep > 6): bi_desc = "small"; break;
default: bi_desc = "puny"; break;
}
return bi_desc;
},
/* 'legs' : function(CHAR) {}, */
/* 'quads' : function(CHAR) {}, */
/* 'calves' : function(CHAR) {}, */
/* 'forearms' : function(CHAR) {}, */
/* 'delts' : function(CHAR) {}, */
/* 'chest' : function(CHAR) {}, */
/* 'breasts' : function(CHAR) {}, */
/* 'back' : function(CHAR) {}, */
/* 'waist' : function(CHAR) {}, */
/* 'abs' : function(CHAR) {}, */
}>><<set setup.FLAGS={
'DISPLAY':{
'base_metrics' : false,
},
}>>