# 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 !! nichPregnancy: 0: Nicholas has not noticed that you are pregnant !! 1: Nicholas has noticed you being pregnant 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 nichTanyaRelationship = 0 nichTanyaRelationshipState = 0 nichTanyaRelationshipBreakup = 0 nichTanyaFuckCounter = 0 gt 'fit','start' elseif $ARGS[2] = 'getHired': nichWork = 0 nichTanyaRelationship = 1 nichTanyaRelationshipState = 10 nichTanyaRelationshipBreakup = 0 nichJobRefused = 0 nichTanyaFuckCounter = 6 hour = 16 gt 'city_center' elseif $ARGS[2] = 'tanyaDate100': nichWork = 2 nichTanyaRelationship = 1 nichTanyaRelationshipState = 10 nichTanyaRelationshipBreakup = 0 nichTanyaFuckCounter = 6 nichTanyaDominance = 30 nichTanyaStrapon = 0 nichGalaKnowsPT = 0 hour = 16 $loc = 'nichBedroomTanja' gt 'nichTanya','bedroomTanya' elseif $ARGS[2] = 'nichGentleclubE1': nichWork = 2 minut = 0 hour = 18 nichGentleclubDayE1 = daystart nichGentleclubE1 = 1 gt 'nichApartment' elseif $ARGS[2] = 'galaContract': nichGalaTraining = 1 nichGalaTrainCounter = 5 nichWork = 2 nichGalaContractActive = 0 nichGalaContract = 0 minut = 0 hour = 18 gt 'nichApartment' end end '
Nicholas'' Apartment Storyline Debug
' 'Debug mode: display debug messages and force random events to fire as often as possible' if nichDebug = 1: 'Debug mode: Enabled' else 'Debug mode: Disabled' end *nl 'Shortcuts' '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.' 'Meet Tanya: 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.' 'Get hired: You visited Tanya often enough for her to offer you the job as the live-in maid.' 'Tanya Special Date 1: Tanya became somewhat dominant. Ask her for a date and let her decide where to go.' 'Nicholas Club Event 1: Nicholas has a special guest over. Meet him at his study.' 'Gala Contract: Gala offers a special contract. Meet her in the living room.' *nl 'Job performance' 'Overall performance (higher=better): <>' 'Get silent performance evaluation' 'Get detailed performance evaluation' *nl 'Chore state: higher numbers are worse' 'Hallway: <> min +1 +5' 'Guest cloakroom: <> min +1 +5' 'Maid bedroom: <> min +1 +5' 'Maid bathroom: <> min +1 +5' 'Laundry: <> min +1 +5' 'Tanya bedroom: <> min +1 +5' 'Master bathroom: <> min +1 +5' 'Master bedroom: <> min +1 +5' 'Living room: <> min +1 +5' 'Kitchen: <> min +1 +5' 'Study: <> min +1 +5' *nl 'NPCs' 'The following settings are meant for debugging only. Touching them will influence the intended progression in the story.' 'Gala' if nichGalaTraining = 1: 'Gala Training: Enabled' else 'Gala Training: Disabled' end 'Tanya' 'Set relationship to:' '-Not together (and never have been)' '-Not together (you broke up)' '-Not together (Tanya broke up)' '-Casually dating' '-In a relationship' 'You fucked Tanya <> times' 'The last time you fucked Tanya was '+(daystart-nichTanyaFuckLast)+' days ago' 'Tanya has a dominance of <> (range: -100 - 100)' act 'DEBUG: New Workday': gs 'nichUtil', 'startWorkday' act 'Back': gt $menu_loc, $menu_arg elseif $ARGS[0] = 'startWorkday': !! Sveta has free Wednesdays. if nichWorkState > 0 and week = 3 and nichVactionTil < daystart: nichVactionTil = daystart end 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 elseif nichVactionTil >= daystart and nichVacationFrom <= daystart: nichEvaluationLastReq = daystart + 1 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 'city_center' 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 if $ARGS[0] = 'onLoad': gs 'nichUtil','updateVars' if $loc = 'tanapartment' or $loc = 'tanhouse' or $loc = 'tanhousezal' or $loc = 'tanhozspal' or $loc = 'tankitchen' or $loc = 'tanNicholas' or $loc = 'tanroom' or $loc = 'tanspalnya' or $loc = 'tanvanr': $loc = 'nichApartment' $loc_arg = '' gt 'nichUtil','updateNotice' end end !! if $ARGS[0] = 'updateVars': if nichTanyaOpinion > 0: nichTanyaKnown = 1 if nichTanyaOpinion = 1: nichTanyaRelationship = 1 nichTanyaRelationshipState = 10 elseif nichTanyaOpinion = 10: nichTanyaRelationship = 1 nichTanyaRelationshipState = 20 elseif nichTanyaOpinion = 20: nichTanyaRelationship = 1 nichTanyaRelationshipState = 10 elseif nichTanyaOpinion = 30: nichTanyaRelationship = 0 nichTanyaRelationshipState = 1010 end killvar 'nichTanyaOpinion' end 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': 'Update Notice' '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, $loc_arg end act 'Stay hired': gs 'nichUtil', 'hired' nichPerformance = max(tan_work_rep * 5,10) nichTanyaRelationship = 1 nichTanyaRelationshipState = 10 nichTanyaRelationshipBreakup = 0 gt $loc, $loc_arg end end if $ARGS[0] = 'checkOutfit': if $clothingworntype = 'gm_maid': nichOutfitState = 1 else nichOutfitState = 0 end end !! Creates the actions for cleaning rooms !! DEPRECATED if $ARGS[0] = 'cleanOptions': $nichTempPic = func('nichUtil','cleanPic',$nichChoreType,$nichChoreLoc) if nichOutfitState = 0: 'You have to change into an appropriate outfit before cleaning up.' elseif nichChoreState[nichChoreID] > 0: act '(<> minutes) Clean quickly': *clr & cla '
> src="<<$nichTempPic>>">
' minut += nichtTimeQuick nichChoreState[nichChoreID] = 0 cleaning_exp += rand (0,1) gs'stat' act 'Finish': gt $loc, 'return' end end act '(<> minutes) Clean normally': *clr & cla '
> src="<<$nichTempPic>>">
' minut += nichTimeNormal nichChoreState[nichChoreID] = 0 cleaning_exp += rand (1,3) act 'Finish': gt $loc, 'return' end end act '(<> minutes) Clean diligently': *clr & cla '
> src="<<$nichTempPic>>">
' 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 if nichDebug = 1: '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,2)+'.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' elseif $ARGS[2] = 'psovaginal': $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 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 nichGentleclubDayE1 = daystart: !!Nicholas has an important guest in his study and stays there all evening gs 'nichUtil', 'npcActivityAdd', 'study', 22 , 30 gs 'nichUtil', 'npcActivityAdd', 'bathEvening', 22 , 45 gs 'nichUtil', 'npcActivityAdd', 'sleep', 24 , 0 elseif 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': if nichGalaDisabled = 1: gs 'nichUtil', 'npcActivityAdd', 'vanished', 24 , 0 else !!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 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 elseif week = 6: !! Tanya will go to a club on Friday evening and return on Saturday morning gs 'nichUtil', 'npcActivityAdd', 'club', 2 , 30 gs 'nichUtil', 'npcActivityAdd', 'returnClub', 2 , 35 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 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: !! Tanya will have sex with Nicholas, her bf or wait for Sveta in her room !! 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 gs 'nichUtil', 'npcActivityAdd', 'sleep', 24 , 0 elseif week = 5: !! Tanya will go to a club on Friday evenings and stay there til Saturday morning gs 'nichUtil', 'npcActivityAdd', 'prepareClub', 21 , 30 gs 'nichUtil', 'npcActivityAdd', 'leaveClub', 21 , 35 gs 'nichUtil', 'npcActivityAdd', 'club', 24 , 0 else gs 'nichUtil', 'npcActivityAdd', 'tanya', 22 , 0 gs 'nichUtil', 'npcActivityAdd', 'sleep', 24 , 0 end 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 = 'unknown' 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' or $nichTemp = 'prepareClub': $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' or $nichTemp = 'leaveClub' or $nichTemp = 'returnClub': $RESULT = 'hallway' elseif $nichTemp = 'uni': $RESULT = 'uni' elseif $nichTemp = 'ballet': $RESULT = 'ballet' elseif $nichTemp = 'friend': $RESULT = 'friend' elseif $nichTemp = 'shopping': $RESULT = 'shopping' elseif $nichTemp = 'club': $RESULT = 'club' 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 !! Returns 1 if the character $ARGS[1] is in the room $ARGS[2] and no other characters are there !! Returns 0 if the character is not present and/or other characters are present if $ARGS[0] = 'isAlone': $nichTempC1 = $ARGS[1] if $nichTempC1 = 'nicholas': $nichTempC2 = 'gala' $nichTempC3 = 'tanya' else $nichTempC2 = 'nicholas' if $nichTempC1 = 'gala': $nichTempC3 = 'tanya' else $nichTempC3 = 'gala' end end if FUNC('nichUtil','isPresent',$nichTempC1,$ARGS[2]) = 0: RESULT = 0 else if FUNC('nichUtil','isPresent',$nichTempC2,$ARGS[2]) = 1 or FUNC('nichUtil','isPresent',$nichTempC3,$ARGS[2]) = 1: RESULT = 0 else RESULT = 1 end end killvar '$nichTempC1' killvar '$nichTempC2' killvar '$nichTempC3' end if $ARGS[0] = 'isPresent': $npcLocation = FUNC('nichUtil','whereIs',$ARGS[1]) if $npcLocation = $ARGS[2]: RESULT = 1 else RESULT = 0 end end !! Returns 1 if $loc is currently set to a location inside Nicholas apartment !! USAGE: x = FUNC('nichUtil','isNicholasHome') if $ARGS[0] = 'isNicholasHome': if $loc = 'nichBathMaster' or $loc = 'nichBedroomServant': RESULT = 1 else RESULT = 0 end end !! Called by arousal.qsrc !! Usage: gs 'nichUtil','onArouse',TYPE !! Type: $ARGS[0] of arousal if $ARGS[0] = 'onArouse': if nichGalaImplant > 0: nichTempNaughtyLoc = 1 if FUNC('nichUtil','isNicholasHome') = 1: nichTempNaughtyLoc = 0 elseif nichGalaImplant > 1 and $loc = 'city_sauna': nichTempNaughtyLoc = 0 end if nichTempNaughtyLoc = 1: if $ARGS[1] = 'vaginal' or $ARGS[1] = 'vaginal_finger' or $ARGS[1] = 'vaginal_fist' or $ARGS[1] = 'vaginal_dildo' or $ARGS[1] = 'vaginal_strap' or $ARGS[1] = 'vaginal_vibe': nichGalaImplantCount += 1 end end killvar 'nichTempNaughtyLoc' end end !! Sveta gets ARGS[1] (default: 1) free days !! Usage: gs 'nichUtil','freeDay' if $ARGS[0] = 'freeDay': nichTempFree = iif(ARGS[1]>0,ARGS[1],1) if nichVactionTil < daystart + nichTempFree - 1: nichVacationFrom = daystart nichVactionTil = daystart + nichTempFree - 1 nichEvaluationLastReq = nichVactionTil + 1 end end if $ARGS[0] = 'disableNPC': if $ARGS[1] = 'Gala': nichGalaDisabled = 1 killvar 'nichGalaContractTaras' killvar 'nichGalaContractTarasCount' killvar 'nichGalaContractTarasLast' killvar 'nichGalaContractActive' killvar 'nichGalaContractLast' killvar 'nichGalaDoc' killvar 'nichGalaKnowsPT' killvar 'nichGalaOpponent' killvar 'nichGalaOpponentDay' killvar 'nichGalaImplant' killvar 'nichGalaTattoo' killvar 'nichGalaImplantCount' killvar 'nichGalaContractLast' killvar 'nichGalaTraining' killvar 'nichGalaTrainCounter' killvar 'nichGalaTrainLast' end end --- nichUtil ---------------------------------