123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885 |
- # nichUtil
- !! Used variables-
- !! Prefix- nich
- !! nichWork- 0= does not work for nicholas and never has, 1=has agreed to work for Nicholas but has not introduced herself yet, 2= currently works for nicholas, 3= quit job in good faith and could get hired again, 4= quit job in bad faith or got thrown out and nicholas is blocked
- !! nichWorkState- 0= sample days, 1= fully employed
- !! nichPerformance- ranging from 0 (fired) to 100 (best)
- !! nichHired- the day Sveta was hired
- !! nichVacationFrom- the first free day if Sveta gets some time off
- !! nichVactionTil- the last free day if Sveta gets some time off (=nichVacationFrom if she has one free day)
- !! nichLastWorkDay- the last day Sveta was in the appartment... needed because otherwise the player could avoid work performance checks by just not showing up here
- !! nichOutfitState- 0=not wearing an appropriate outfit, 1=wearing an appropriate outfit
- !! nichSalaryBase
- !! nichSalaryNext
- !! nichSalaryOutstanding
- if $ARGS[0] = '' or $ARGS[0] = 'start':
- 'This page should never appear. Please report this bug including a description of how you got here.'
- elseif $ARGS[0] = 'debug':
- if $ARGS[1] = 'debugToggle':
- nichDebug = 1 - nichDebug
- elseif $ARGS[1] = 'galaTrainingToggle':
- nichGalaTraining = 1 - nichGalaTraining
- elseif $ARGS[1] = 'chore':
- if $ARGS[3] = 'min':
- nichChoreState[ARGS[2]] = 0
- elseif $ARGS[3] = '1':
- nichChoreState[ARGS[2]] += 1
- elseif $ARGS[3] = '5':
- nichChoreState[ARGS[2]] += 5
- end
- elseif $ARGS[1] = 'evaluation':
- if $ARGS[2] = 'silent':
- gs 'nichNicholas','evaluation', 'silent'
- end
- elseif $ARGS[1] = 'shortcut':
- if $ARGS[2] = 'meetTanya':
- !! abonement is a var from fit
- gs 'nichUtil','clearVars'
- abonement = 30
- nichWork = 0
- nichTanyaOpinion = 0
- nichTanyaFuckCounter = 0
- gt 'fit','start'
- elseif $ARGS[2] = 'getHired':
- nichWork = 0
- nichTanyaOpinion = 1
- nichJobRefused = 0
- nichTanyaFuckCounter = 6
- hour = 16
- gt 'down'
- end
- end
- '<center><b>Nicholas'' Apartment Storyline Debug</b></center>'
- '<i><b>Debug mode</b>: display debug messages and force random events to fire as often as possible</i>'
- if nichDebug = 1:
- 'Debug mode: <a href="exec: gt ''nichUtil'', ''debug'', ''debugToggle''">Enabled</a>'
- else
- 'Debug mode: <a href="exec: gt ''nichUtil'', ''debug'', ''debugToggle''">Disabled</a>'
- end
-
- *nl
- '<i><b>Shortcuts</b></i>'
- '<i>The following options will set and change a whole bunch of variables and might transport you to another place. Important: every shortcut has been created with a debug scenario in mind and won''t set/reset every storyline-variable. Expect weird behavior.</i>'
- '<a href="exec: gt ''nichUtil'', ''debug'',''shortcut'',''meetTanya''">Meet Tanya</a>: Sets you up to meet Tanya. Go to the dressing room. She is the ''cute girl''. Meeting her has a random chance unless you have activated debug mode.'
- '<a href="exec: gt ''nichUtil'', ''debug'',''shortcut'',''getHired''">Get hired</a>: You visited Tanya often enough for her to offer you the job as the live-in maid.'
- *nl
-
- '<i><b>Job performance</b></i>'
- 'Overall performance (higher=better): <<nichPerformance>>'
- '<a href="exec: gt ''nichUtil'', ''debug'', ''evaluation'', ''silent''">Get silent performance evaluation</a>'
- '<a href="exec: gt ''nichNicholas'', ''evaluation''">Get detailed performance evaluation</a>'
- *nl
-
- '<i><b>Chore state</b>: higher numbers are worse</i>'
- 'Hallway: <<nichChoreState[0]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 0, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 0, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 0, ''5''">+5</a>'
- 'Guest cloakroom: <<nichChoreState[1]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 1, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 1, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 1, ''5''">+5</a>'
- 'Maid bedroom: <<nichChoreState[2]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 2, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 2, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 2, ''5''">+5</a>'
- 'Maid bathroom: <<nichChoreState[3]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 3, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 3, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 3, ''5''">+5</a>'
- 'Laundry: <<nichChoreState[4]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 4, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 4, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 4, ''5''">+5</a>'
- 'Tanya bedroom: <<nichChoreState[5]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 5, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 5, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 5, ''5''">+5</a>'
- 'Master bathroom: <<nichChoreState[6]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 6, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 6, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 6, ''5''">+5</a>'
- 'Master bedroom: <<nichChoreState[7]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 7, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 7, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 7, ''5''">+5</a>'
- 'Living room: <<nichChoreState[8]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 8, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 8, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 8, ''5''">+5</a>'
- 'Kitchen: <<nichChoreState[9]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 9, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 9, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 9, ''5''">+5</a>'
- 'Study: <<nichChoreState[10]>> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 10, ''min''">min</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 10, ''1''">+1</a> <a href="exec: gt ''nichUtil'', ''debug'', ''chore'', 10, ''5''">+5</a>'
-
- *nl
- '<i><b>NPCs</b></i>'
- '<b>Gala</b>'
- if nichGalaTraining = 1:
- 'Gala Training: <a href="exec: gt ''nichUtil'', ''debug'', ''galaTrainingToggle''">Enabled</a>'
- else
- 'Gala Training: <a href="exec: gt ''nichUtil'', ''debug'', ''galaTrainingToggle''">Disabled</a>'
- end
-
- '<b>Tanya</b>'
- 'You fucked Tanya <<nichTanyaFuckCounter>> times'
- 'The last time you fucked Tanya was '+(daystart-nichTanyaFuckLast)+' days ago'
- 'Tanya has a dominance of <<nichTanyaDominance>> (range: -100 - 100)'
-
- act 'DEBUG: New Workday':
- gs 'nichUtil', 'startWorkday'
- end
-
- act 'Back':
- gt $menu_loc
- end
-
- elseif $ARGS[0] = 'startWorkday':
- nichMissedWorkdays = daystart - nichLastWorkDay - 1
-
- if nickHired + 1 = daystart:
- !! this is the first workday ever
- nichMissedWorkdays = 0
- elseif nichVactionTil + 1 = daystart:
- !! this is the first day Sveta has to work after a vacation... maybe work piled up?
- nichMissedWorkdays = nichMissedWorkdays - nichVactionTil + nichVacationFrom -1
- elseif nichVactionTil >= daystart and nichVacationFrom <= daystart:
- !! Sveta does not have to work today
- nichMissedWorkdays = nichVacationFrom - nichLastWorkDay - 1
- end
-
- if nichMissedWorkdays > 0:
- !!Sveta has missed a workday... very bad
- nichPerformance -= 40 * nichMissedWorkdays
- if nichPerformance <= 0:
- nichNote = 1
- !!'You see a note hanging at the door to your room.'
- !!'"<<$pcs_nichname>>, you missed work. This is unacceptable. Take your stuff and leave. You are fired. -Nicholas"'
- !!'You see all your belongings standing in front of the door prepared for your departure.'
- !!gt 'nichUtil', 'fired'
- else
- nichNote = 2
- !!'You see a note hanging at the door to your room.'
- !!'"<<$pcs_nichname>>, you missed work. This is unacceptable. I expect this not to happen again. -Nicholas"'
- end
- elseif daystart > nichEvaluationLastReq and nichEvaluationLast < nichEvaluationLastReq:
- !! Sveta has missed her last evaluation
- !! Perform silent evaluation right now
- gs 'nichNicholas','evaluation', 'silent'
- !! Dont forget that this evaluation was for yesterday
- nichEvaluationLast = daystart - 1
-
- nichPerformance -= 20
- if nichPerformance <= 0:
- nichNote = 11
- !!'You see a note hanging at the door to your room.'
- !!'"<<$pcs_nichname>>, you missed your last evaluation. This is unacceptable. Take your stuff and leave. You are fired. -Nicholas"'
- !!'You see all your belongings standing in front of the door prepared for your departure.'
- !!gt 'nichUtil', 'fired'
- else
- nichNote = 12
- !!'You see a note hanging at the door to your room.'
- !!'"<<$pcs_nichname>>, you missed your last evaluation. This is unacceptable. I expect this not to happen again. -Nicholas"'
- end
- end
-
- nichLastWorkDay = daystart
-
- if nichWorkState > 0:
- nichEvaluationLastReq = 0
- else
- nichEvaluationLastReq = daystart
- end
-
- !! 0: hallway
- nichChoreState[0] += 5
- !! 1: guest bathroom
- nichChoreState[1] += 5
- !! 2: servant bedroom
- nichChoreState[2] += 5
- !! 3: servant bathroom
- nichChoreState[3] += 5
- !! 4: laundry
- nichChoreState[4] += 5
- !! 5: tanya bedroom, if nichTanyaRoom = 1 she will clean it herself
- if nichTanyaRoom = 0:
- nichChoreState[5] += 5
- end
- !! 6: master bathroom
- nichChoreState[6] += 5
- !! 7: master bedroom
- nichChoreState[7] += 5
- !! 8: living room
- nichChoreState[8] += 5
- !! 9: kitchen
- nichChoreState[9] += 5
- !!10: study
- nichChoreState[10] += 5
-
- !! Salary
- !! Sveta can collect it from a letter in her room
- if day = 1:
- nichSalaryOutstanding += nichSalaryNext
- nichSalaryNext = nichSalaryBase
- end
-
-
- !! NPC behaviour
- !! Gala will give up talking smack about Sveta after 5 days
- if nichGalaOpponent >= 10 and nichGalaOpponent < 20 and daystart > nichGalaOpponentDay + 5:
- nichGalaOpponent = 20
- elseif nichGalaOpponent = 30:
- nichGalaOpponent = 31
- end
- !! get rid of all variables concerning Nicholas except for nichWork
- elseif $ARGS[0] = 'clearVars':
- !!System vars
- !!Do not kill nichDebug
- killvar 'nichRand'
- killvar '$nichTempPic'
- killvar '$nichTemp'
-
- !!Work vars
- !!Do not kill nichWork
- killvar 'nichWorkState'
- killvar 'nichNote'
- killvar 'nichLastWorkDay'
- killvar 'nichMissedWorkdays'
- killvar 'nichAfterBFEvent'
-
- killvar 'nichEvaluationLast'
- killvar 'nichEvaluationLastReq'
-
- killvar 'nichHotelReferral'
- killvar 'nickHired'
- killvar 'nichHireMode'
- killvar 'nichJobRefused'
- killvar 'nichJobRefusedTReact'
-
- killvar 'nichPerformance'
- killvar 'nichSalaryNext'
-
- killvar 'nichCleanAppropriate'
- killvar 'nichOutfitState'
-
- !!NPC vars
- killvar 'nichKnowsCook'
- killvar 'nichCookPresent'
-
- killvar '$nichGalaAct'
- killvar '$nichNichAct'
- killvar '$nichTanyAct'
-
- killvar 'nichGalaPresent'
- killvar 'nichNichPresent'
- killvar 'nichTanyPresent'
-
- killvar 'nichGalaKnowsPT'
- killvar 'nichGalaOpinion'
- killvar 'nichGalaOpponent'
- killvar 'nichGalaOpponentDay'
- killvar 'nichGalaTraining'
- killvar 'nichGalaTrainCounter'
- killvar 'nichGalaTrainLast'
-
- killvar 'nichFlirtCounter'
- killvar 'nichFlirtLast'
- killvar 'nichNTRelation'
- killvar 'nichSex'
-
- !!Do not kill nichTanyaUni
- !!Do not kill Tanyas fuck vars since Sveta might meet her after leaving her job
- killvar 'nichTanyaSpyLast'
- killvar 'nichTanyaSpyCounter'
-
-
- elseif $ARGS[0] = 'fired':
- 'It takes you a few moments to process what just happened:'
- 'You have just been fired. And kind of lost your home, too.'
-
- home_owned[7] = 0
-
- nichWork = 4
- work = 0
-
- gs 'nichUtil', 'clearVars'
-
- act 'Take your belongings and leave the apartment':gt 'down'
- end
- !! initializes variables when hired, might mess everything up if called at any other time
- if $ARGS[0] = 'hired':
- home_owned[7] = 1
- nichWork = 2
- nichWorkState = 0
- nichPerformance = 45
- nickHired = daystart
- !!Todo: check the following
- nichVacationFrom = daystart
- nichVactionTil = daystart
- nichLastWorkDay = daystart
- nichEvaluationLast = daystart
- nichEvaluationLastReq = daystart
- nichMaidBathG = 0
- nichMaidLaundry = 0
- nichMaidDishes = 0
- nichMaidGroceries = 0
- nichMaidHallway = 0
- nichMaidLivingDust = 0
- nichMaidLivingFloor = 0
- nichMaidLivingItems = 0
- nichMaidLivingWindows = 0
- nichLastInspepection = -1
-
- nichChoreState[0] = 0
-
- nichSalaryBase = 10000
-
- $npc_nickname['A52'] = 'Master '+$npc_firstname['A52']
- end
- !! convert the old vars to the new system
- if $ARGS[0] = 'convert':
-
- killvar 'MaidWorkDay'
- killvar 'MaidWork'
- killvar 'TanHallClean'
- killvar 'TanRoomClean'
- killvar 'TanBathClean'
- killvar 'TanMasterClean'
- killvar 'TanLivingClean'
- killvar 'TanMaidRoomClean'
- killvar 'TanKitchenClean'
- killvar 'TanMadeBreakfast'
- killvar 'tanwork'
- killvar 'tan_work_rep'
- killvar 'tan_work_evaluation'
- end
- if $ARGS[0] = 'updateNotice':
-
- '<b><font color = red>Update Notice</font></b>'
- 'It appears as if you are currently the live-in maid of Nicholas.'
- *nl
- 'This story-line has changed drastically in the last updates.'
- *nl
- 'Please select one option:'
- '1. Start over: You can play the whole story-line all over again as if it has never happened.'
- '2. Stay hired: You will stay the maid of Nicholas and your job performance will be translated to the new system. You will be in a sexual relationship with Tanya.'
- gs 'nichUtil','convert'
-
- act 'Start over':
- gt $loc, $metka
- end
-
- act 'Stay hired':
- gs 'nichUtil', 'hired'
- nichPerformance = tan_work_rep * 5
- nichTanyaOpinion = 1
- gt $loc, $metka
- end
-
- end
- if $ARGS[0] = 'checkOutfit':
- if $clothingworntype = 'uniform':
- nichOutfitState = 1
- else
- nichOutfitState = 0
- end
- end
- !! Creates the actions for cleaning rooms
- if $ARGS[0] = 'cleanOptions':
- $nichTempPic = func('nichUtil','cleanPic',$nichChoreType,$nichChoreLoc)
-
- if nichOutfitState = 0:
- '<b><font color = red>You have to change into an appropriate outfit before cleaning up.</font></b>'
- elseif nichChoreState[nichChoreID] > 0:
- act '(<<nichtTimeQuick>> minutes) Clean quickly':
- *clr & cla
- '<center><img <<$set_imgh>> src="<<$nichTempPic>>"></center>'
- minut += nichtTimeQuick
- nichChoreState[nichChoreID] = 0
- cleaning_exp += rand (0,1)
- gs'stat'
- act 'Finish':
- gt $loc, 'return'
- end
- end
-
- act '(<<nichTimeNormal>> minutes) Clean normally':
- *clr & cla
- 'DEBUG: '+$nichTempPic
- '<center><img <<$set_imgh>> src="<<$nichTempPic>>"></center>'
- minut += nichTimeNormal
- nichChoreState[nichChoreID] = 0
- cleaning_exp += rand (1,3)
- act 'Finish':
- gt $loc, 'return'
- end
- end
-
- act '(<<nichTimeDiligently>> minutes) Clean diligently':
- *clr & cla
- '<center><img <<$set_imgh>> src="<<$nichTempPic>>"></center>'
- minut += nichTimeDiligently
- nichChoreState[nichChoreID] = 0
- cleaning_exp += rand (1,5)
- act 'Finish':
- gt $loc, 'return'
- end
- end
- end
-
- act 'Don''t clean':
- gt $loc, 'return'
- end
- end
- !! Returns the path to a picture of a maid cleaning something. If there are more than one pictures matching the citeria one of them is chosen at random.
- !! Arguments:
- !! 1 (required): What to clean/do (bed, floor, furniture,bath,kitchen)
- !! 2 (optional): Where (servant (=bedroom servant), living, kitchen, hallway, masterbath, study, bathGuest)
- !! 3 (optional): How to clean (quickly, normally, diligently)
- if $ARGS[0] = 'cleanPic':
- killvar '$nichTempPic'
- if $ARGS[1] = 'bed':
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid7.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid21.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid31.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid79.jpg'
- if $ARGS[2] = 'servant' or $ARGS[2] = 'tanya':
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid27.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid34.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid71.jpg'
- elseif $ARGS[2] = 'master':
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid56.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid79.jpg'
- end
- elseif $ARGS[1] = 'floor':
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid5.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid9.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid15.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid16.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid58.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid60.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid61.jpg'
- elseif $ARGS[1] = 'bath':
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid26.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid35.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid80.jpg'
- elseif $ARGS[1] = 'kitchen':
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid19.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid23.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid24.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid38.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid52.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid66.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid67.jpg'
- elseif $ARGS[1] = 'furniture':
- if $ARGS[2] = 'living':
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid0.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid4.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid41.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid59.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid70.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid73.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid74.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid76.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid78.jpg'
- elseif $ARGS[2] = 'study':
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid30.jpg'
- end
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid8.jpg'
- elseif $ARGS[1] = 'laundry':
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid12.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid13.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid25.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid49.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid54.jpg'
- $nichTempPic[ARRSIZE('$nichTempPic')] = 'maid69.jpg'
- end
-
- if ARRSIZE('$nichTempPic') = 0:
- !!generic fallback in case no matching picture was found
- $RESULT = 'images/pc/activities/maidCleaning/maid0.jpg'
- else
- $RESULT = 'images/pc/activities/maidCleaning/'+$nichTempPic[rand(0,ARRSIZE('$nichTempPic')-1)]
- end
- 'Debug: Picture '+$RESULT
- !!killvar 'nichTemp'
- killvar '$nichTempPic'
- end
- !! Returns the path to a picture of Tanya.
- !! Arguments:
- !! 1 (required): General activity ("idle" for something not sex-related, "sexL" for lesbian sex, "sexH" for sex with a man)
- !! 2 (required for sex): Specific activity (prefix a: Tanya acts, prefix p: Tanya gets acted upon; "")
- !! 3 (optional): Partner for sex-options (0 or unset: PC, 1: PC and ignore PC appearance)
- if $ARGS[0] = 'tanyaPic':
- gs 'nichUtil','updatePcHair'
- $nichTempFolder = 'images/characters/city/tanya/'
-
- if $ARGS[1] = 'idle':
- $RESULT = $nichTempFolder + 'idle/idle'+rand(0,5)+'.jpg'
- end
-
- if $ARGS[1] = 'cuddle':
- $RESULT = $nichTempFolder + 'sex/cuddle'+rand(0,4)+'.jpg'
- end
-
- if $ARGS[1] = 'sexL' or $ARGS[1] = 'sexH':
- !! Pictures which work for both lesbian and heterosexual sex
- if $ARGS[2] = 'after':
- !! pictures of Tanya relaxing after sex
- $RESULT = $nichTempFolder + 'sex/relax'+rand(0,5)+'.jpg'
- elseif $ARGS[2] = 'pose':
- $RESULT = $nichTempFolder + 'sex/pose'+rand(0,1)+'.jpg'
- elseif $ARGS[2] = 'undress':
- $RESULT = $nichTempFolder + 'sex/undress'+rand(0,3)+'.jpg'
- end
- end
- if $ARGS[1] = 'sexL':
- if $ARGS[2] = 'kiss':
- $RESULT = $nichTempFolder + 'sexL/kiss/kiss'+rand(0,5)+'.jpg'
- elseif $ARGS[2] = 'aeatout':
- $RESULT = $nichTempFolder + 'sexL/aeatout/aeatout'+rand(0,3)+'.jpg'
- elseif $ARGS[2] = 'peatout':
- $RESULT = $nichTempFolder + 'sexL/peatout/peatout'+rand(0,6)+'.jpg'
- elseif $ARGS[2] = 'arimjob':
- $RESULT = $nichTempFolder + 'sexL/arimjob/arimjob'+rand(0,3)+'.jpg'
- elseif $ARGS[2] = 'primjob':
- $RESULT = $nichTempFolder + 'sexL/primjob/primjob'+rand(0,1)+'.jpg'
- elseif $ARGS[2] = 'astrapon':
- $RESULT = $nichTempFolder + 'sexL/astrapon/astrapon'+rand(0,5)+'.jpg'
- elseif $ARGS[2] = 'pstrapon':
- $RESULT = $nichTempFolder + 'sexL/pstrapon/pstrapon'+rand(0,3)+'.jpg'
- end
- elseif $ARGS[1] = 'sexH':
- if $ARGS[2] = 'spy':
- if $ARGS[3] = '' or $ARGS[3] = 'nicholas':
- $RESULT = $nichTempFolder + 'sexNich/nich'+rand(0,5)+'.jpg'
- elseif $ARGS[3] = 'bf1':
- $RESULT = $nichTempFolder + 'sexBf/bf1/sex'+rand(0,4)+'.jpg'
- elseif $ARGS[3] = 'bf2':
- $RESULT = $nichTempFolder + 'sexBf/bf2/sex'+rand(0,2)+'.jpg'
- end
- end
- end
-
- '<<$RESULT>>'
- killvar '$nichTempFolder'
- end
- !! sets nichPCHair to:
- !! 0 if PC has brown, dark red or black hair (any natural color which is not blonde)
- !! 1 if PC is blonde
- !! 2 if PC has any other hair color
- if $ARGS[0] = 'updatePcHair':
- if pcs_haircol = 3:
- nichPCHair = 1
- elseif pcs_haircol > 3:
- nichPCHair = 2
- else
- nichPCHair = 0
- end
- end
- if $ARGS[0] = 'npcActivityAdd':
- $nichNpcActArr[ARRSIZE('$nichNpcActArr')] = $ARGS[1]
- nichNpcActTime[ARRSIZE('nichNpcActTime')] = ARGS[2]*60 + ARGS[3]
- end
- !! The activity the NPC is currently doing at a given time.
- !! The times are read as up to but not including.
- !! If you add an activity:
- !! 1. Add it here and make sure activities stay in chronological order.
- !! 2. Add the activity to the function whereis
- !! 3. Add the activity to the the description of the corresponding character (e.g. nichNicholas)
- !! 4. Add the activity to the corresponding location (if its inside the appartment)
- if $ARGS[0] = 'npcActivity':
- if $ARGS[1] = 'nicholas':
- !!Morning routine
- if week <= 5:
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 6 , 45
- gs 'nichUtil', 'npcActivityAdd', 'bathMorning', 7 , 15
- gs 'nichUtil', 'npcActivityAdd', 'study', 7 , 45
- gs 'nichUtil', 'npcActivityAdd', 'breakfast', 8 , 30
- else
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 7 , 45
- gs 'nichUtil', 'npcActivityAdd', 'bathMorning', 8 , 15
- gs 'nichUtil', 'npcActivityAdd', 'study', 8 , 45
- gs 'nichUtil', 'npcActivityAdd', 'breakfast', 9 , 30
- end
-
- !!day avtivity
- if week <= 4:
- gs 'nichUtil', 'npcActivityAdd', 'leaveWork', 8 , 35
- gs 'nichUtil', 'npcActivityAdd', 'work', 18 , 0
- gs 'nichUtil', 'npcActivityAdd', 'returnWork', 18 , 05
- elseif week = 5:
- gs 'nichUtil', 'npcActivityAdd', 'leaveWork', 8 , 35
- gs 'nichUtil', 'npcActivityAdd', 'work', 16 , 0
- gs 'nichUtil', 'npcActivityAdd', 'returnWork', 16 , 05
- elseif week = 6:
- gs 'nichUtil', 'npcActivityAdd', 'leaveShopping', 9 , 35
- gs 'nichUtil', 'npcActivityAdd', 'shopping', 16 , 0
- gs 'nichUtil', 'npcActivityAdd', 'returnShopping', 16 , 05
- else
- gs 'nichUtil', 'npcActivityAdd', 'living', 16 , 0
- end
-
- !!evening
- if week <= 4:
- gs 'nichUtil', 'npcActivityAdd', 'dinner', 18 , 30
- gs 'nichUtil', 'npcActivityAdd', 'study', 20 , 30
- if week = 1:
- gs 'nichUtil', 'npcActivityAdd', 'study', 22 , 0
- elseif week = 2 or week = 4:
- if nichNTRelation < 10:
- gs 'nichUtil', 'npcActivityAdd', 'tanya', 22 , 0
- else
- gs 'nichUtil', 'npcActivityAdd', 'study', 22 , 0
- end
- elseif week = 3:
- gs 'nichUtil', 'npcActivityAdd', 'living', 22 , 0
- end
- gs 'nichUtil', 'npcActivityAdd', 'bathEvening', 22 , 15
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 24 , 0
- elseif week = 5 or week = 6:
- gs 'nichUtil', 'npcActivityAdd', 'study', 18 , 0
- gs 'nichUtil', 'npcActivityAdd', 'bathClub', 18 , 30
- gs 'nichUtil', 'npcActivityAdd', 'leaveClub', 18 , 35
- gs 'nichUtil', 'npcActivityAdd', 'club', 23 , 45
- gs 'nichUtil', 'npcActivityAdd', 'returnClub', 23 , 50
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 24 , 0
- else
- gs 'nichUtil', 'npcActivityAdd', 'study', 18 , 0
- gs 'nichUtil', 'npcActivityAdd', 'dinner', 18 , 30
- gs 'nichUtil', 'npcActivityAdd', 'gala', 21 , 30
- gs 'nichUtil', 'npcActivityAdd', 'bathEvening', 21 , 45
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 24 , 0
- end
- elseif $ARGS[1] = 'gala':
- !!Morning routine
- if week <= 5:
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 6 , 45
- !! gala will wake up the same time Nicholas does (->alarm clock) but she will wait for him to be finished in bath before she goes there
- gs 'nichUtil', 'npcActivityAdd', 'snooze', 7 , 15
- !! Gala is in bath while Nicholas is in his study
- gs 'nichUtil', 'npcActivityAdd', 'bathMorning', 7 , 45
- !! note: breakfast time should be the same for all three characters
- gs 'nichUtil', 'npcActivityAdd', 'breakfast', 8 , 30
- else
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 7 , 45
- gs 'nichUtil', 'npcActivityAdd', 'snooze', 8 , 15
- gs 'nichUtil', 'npcActivityAdd', 'bathMorning', 8 , 45
- gs 'nichUtil', 'npcActivityAdd', 'breakfast', 9 , 30
- end
- !! daily activity
- if week = 1 or week = 3:
- gs 'nichUtil', 'npcActivityAdd', 'living', 18 , 05
- elseif week = 2:
- !! Gala goes to spa on Tuesdays
- gs 'nichUtil', 'npcActivityAdd', 'living', 9 , 0
- gs 'nichUtil', 'npcActivityAdd', 'leaveSpa', 9 , 5
- gs 'nichUtil', 'npcActivityAdd', 'spa', 15 , 30
- gs 'nichUtil', 'npcActivityAdd', 'returnSpa', 15 , 35
- gs 'nichUtil', 'npcActivityAdd', 'living', 18 , 05
- elseif week = 4:
- !! Gala visits a friend on Thursdays
- gs 'nichUtil', 'npcActivityAdd', 'living', 9 , 0
- gs 'nichUtil', 'npcActivityAdd', 'leaveFriend', 9 , 5
- gs 'nichUtil', 'npcActivityAdd', 'friend', 17 , 30
- gs 'nichUtil', 'npcActivityAdd', 'returnFriend', 17 , 35
- gs 'nichUtil', 'npcActivityAdd', 'living', 18 , 05
- elseif week = 5:
- !! TODO: Friday plans
- gs 'nichUtil', 'npcActivityAdd', 'living', 18 , 05
- elseif week = 6:
- !! TODO: Saturday plans
- gs 'nichUtil', 'npcActivityAdd', 'living', 18 , 05
- else
- !! TODO: Sunday plans
- gs 'nichUtil', 'npcActivityAdd', 'living', 18 , 0
- end
- !!evening
- if week <= 4:
- !! dinner has to be the same time for all three characters
- gs 'nichUtil', 'npcActivityAdd', 'dinner', 18 , 30
- gs 'nichUtil', 'npcActivityAdd', 'living', 20 , 30
- gs 'nichUtil', 'npcActivityAdd', 'bathEvening', 22 , 15
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 24 , 0
- elseif week = 5 or week = 6:
- !! Gala will prepare herself for the club in the bedroom
- !! she will accompany Nicholas there, so their times have to be the same
- gs 'nichUtil', 'npcActivityAdd', 'prepareClub', 18 , 30
- gs 'nichUtil', 'npcActivityAdd', 'leaveClub', 18 , 35
- gs 'nichUtil', 'npcActivityAdd', 'club', 23 , 45
- gs 'nichUtil', 'npcActivityAdd', 'returnClub', 23 , 50
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 24 , 0
- else
- gs 'nichUtil', 'npcActivityAdd', 'dinner', 18 , 30
- !! Nicholas will do her at this time, so she must have the corresponding entry
- gs 'nichUtil', 'npcActivityAdd', 'nicholas', 21 , 30
- gs 'nichUtil', 'npcActivityAdd', 'bathEvening', 21 , 45
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 24 , 0
- end
- elseif $ARGS[1] = 'tanya':
- !!Morning routine
- if week <= 5:
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 7 , 45
- !! note: breakfast time should be the same for all three characters
- gs 'nichUtil', 'npcActivityAdd', 'breakfast', 8 , 30
- gs 'nichUtil', 'npcActivityAdd', 'bathMorning', 9 , 15
-
- else
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 8 , 45
- !! note: breakfast time should be the same for all three characters
- gs 'nichUtil', 'npcActivityAdd', 'breakfast', 9 , 30
- gs 'nichUtil', 'npcActivityAdd', 'bathMorning', 10 , 15
- end
-
- !! TODO: daily activities
- !! Tanya will go to university from 10:15-14:00
- if nichTanyaUni >= 100 and nichTanyaUniStart ! daystart:
- if week <= 5:
- gs 'nichUtil', 'npcActivityAdd', 'leaveUni', 10 , 20
- gs 'nichUtil', 'npcActivityAdd', 'uni', 14 , 0
- if week = 2 or week = 5:
- gs 'nichUtil', 'npcActivityAdd', 'returnUni', 14 , 5
- end
- end
- else
- if week = 1:
- gs 'nichUtil', 'npcActivityAdd', 'tanya', 13 , 55
- gs 'nichUtil', 'npcActivityAdd', 'leaveBallet', 14 , 0
- elseif week = 3:
- gs 'nichUtil', 'npcActivityAdd', 'tanya', 12 , 0
- gs 'nichUtil', 'npcActivityAdd', 'leaveFriend', 12 , 5
- elseif week = 4:
- gs 'nichUtil', 'npcActivityAdd', 'tanya', 12 , 0
- gs 'nichUtil', 'npcActivityAdd', 'leaveShopping', 12 , 5
- end
- end
-
- if week = 1:
- gs 'nichUtil', 'npcActivityAdd', 'ballet', 16 , 30
- gs 'nichUtil', 'npcActivityAdd', 'returnBallet', 16 , 35
- elseif week = 3:
- gs 'nichUtil', 'npcActivityAdd', 'friend', 17 , 0
- gs 'nichUtil', 'npcActivityAdd', 'returnFriend', 17 , 5
- elseif week = 4:
- gs 'nichUtil', 'npcActivityAdd', 'shopping', 16 , 15
- gs 'nichUtil', 'npcActivityAdd', 'returnShopping', 16 , 20
- end
-
- gs 'nichUtil', 'npcActivityAdd', 'tanya', 18 , 05
-
- if week <= 4 or week = 7:
- gs 'nichUtil', 'npcActivityAdd', 'dinner', 18 , 30
- end
-
- !! TODO: evening activities
- gs 'nichUtil', 'npcActivityAdd', 'tanya', 20 , 30
-
- if week = 2 or week = 4:
- !! Needs to have corresponding entries to Nicholas entries.
- if nichNTRelation < 10:
- gs 'nichUtil', 'npcActivityAdd', 'nicholas', 22 , 0
- elseif nichTanyaBF > 0:
- gs 'nichUtil', 'npcActivityAdd', 'boyfriend', 23 , 0
- else
- gs 'nichUtil', 'npcActivityAdd', 'tanya', 22 , 0
- end
- else
- gs 'nichUtil', 'npcActivityAdd', 'tanya', 22 , 0
- end
-
- gs 'nichUtil', 'npcActivityAdd', 'sleep', 24 , 0
- end
-
- $RESULT = $nichNpcActArr[0]
-
- nichNpcActC = 0
-
- :nichNpcActivityLoop
- if nichNpcActTime[nichNpcActC] <= hour * 60 + minut:
- nichNpcActC += 1
- if nichNpcActC < ARRSIZE('nichNpcActTime'): jump 'nichNpcActivityLoop'
- end
-
- $RESULT = $nichNpcActArr[nichNpcActC]
-
- killvar '$nichNpcActArr'
- killvar 'nichNpcActTime'
- killvar '$nichNpcActC'
- end
- if $ARGS[0] = 'whereIs':
- $RESULT = 'nowhere'
- if $ARGS[1] = 'nicholas':
- $nichTemp = func('nichUtil','npcActivity','nicholas')
- if $nichTemp = 'sleep' or $nichTemp = 'gala':
- $RESULT = 'masterBedroom'
- elseif $nichTemp = 'bathMorning' or $nichTemp = 'bathClub' or $nichTemp = 'bathEvening':
- $RESULT = 'masterBathroom'
- elseif $nichTemp = 'breakfast' or $nichTemp = 'living' or $nichTemp = 'dinner':
- $RESULT = 'living'
- elseif $nichTemp = 'leaveWork' or $nichTemp = 'returnWork' or $nichTemp = 'leaveShopping' or $nichTemp = 'returnShopping' or $nichTemp = 'leaveClub' or $nichTemp = 'returnClub':
- $RESULT = 'hallway'
- elseif $nichTemp = 'work':
- $RESULT = 'work'
- elseif $nichTemp = 'study':
- $RESULT = 'study'
- elseif $nichTemp = 'tanya':
- $RESULT = 'bedroomTanya'
- elseif $nichTemp = 'club':
- $RESULT = 'club'
- elseif $nichTemp = 'shopping':
- $RESULT = 'shopping'
- end
- elseif $ARGS[1] = 'gala':
- $nichTemp = func('nichUtil','npcActivity','gala')
- if $nichTemp = 'sleep' or $nichTemp = 'snooze' or $nichTemp = 'nicholas' or $nichTemp = 'prepareClub':
- $RESULT = 'masterBedroom'
- elseif $nichTemp = 'bathMorning' or $nichTemp = 'bathEvening':
- $RESULT = 'masterBathroom'
- elseif $nichTemp = 'breakfast' or $nichTemp = 'living' or $nichTemp = 'dinner':
- $RESULT = 'living'
- elseif $nichTemp = 'leaveSpa' or $nichTemp = 'returnSpa' or $nichTemp = 'leaveFriend' or $nichTemp = 'returnFriend' or $nichTemp = 'leaveClub' or $nichTemp = 'returnClub':
- $RESULT = 'hallway'
- elseif $nichTemp = 'club':
- $RESULT = 'club'
- elseif $nichTemp = 'friend':
- $RESULT = 'friend'
- end
- elseif $ARGS[1] = 'tanya':
- $nichTemp = func('nichUtil','npcActivity','tanya')
- if $nichTemp = 'sleep' or $nichTemp = 'nicholas' or $nichTemp = 'tanya' or $nichTemp = 'boyfriend':
- $RESULT = 'bedroomTanya'
- elseif $nichTemp = 'bathMorning' or $nichTemp = 'bathEvening':
- $RESULT = 'masterBathroom'
- elseif $nichTemp = 'breakfast' or $nichTemp = 'living' or $nichTemp = 'dinner':
- $RESULT = 'living'
- elseif $nichTemp = 'leaveUni' or $nichTemp = 'returnUni' or $nichTemp = 'leaveBallet' or $nichTemp = 'returnBallet' or $nichTemp = 'leaveFriend' or $nichTemp = 'returnFriend' or $nichTemp = 'leaveShopping' or $nichTemp = 'returnShopping':
- $RESULT = 'hallway'
- elseif $nichTemp = 'uni':
- $RESULT = 'uni'
- elseif $nichTemp = 'ballet':
- $RESULT = 'ballet'
- elseif $nichTemp = 'friend':
- $RESULT = 'friend'
- elseif $nichTemp = 'shopping':
- $RESULT = 'shopping'
- end
- elseif $ARGS[1] = 'cook':
- if hour >= 10 and hour < 20:
- $RESULT = 'kitchen'
- end
- end
- end
- if $ARGS[0] = 'isHome':
- $nichTemp = func('nichUtil','whereIs',$ARGS[1])
- RESULT = 0
- if $nichTemp = 'masterBedroom' or $nichTemp = 'masterBathroom' or $nichTemp = 'bedroomTanya' or $nichTemp = 'bedroomServant' or $nichTemp = 'bathroomServant' or $nichTemp = 'bedroomGuest' or $nichTemp = 'study' or $nichTemp = 'living' or $nichTemp = 'kitchen':
- RESULT = 1
- end
- end
- if $ARGS[0] = 'isPresent':
- $npcLocation = FUNC('nichUtil','whereIs',$ARGS[1])
- if $npcLocation = $ARGS[2]:
- RESULT = 1
- else
- RESULT = 0
- end
-
- end
- --- nichUtil ---------------------------------
|