Your browser lacks required capabilities. Please upgrade it or switch to another to continue.
Loading…
/% Only displayed in debug mode at the moment, simply shows antagonist models. May be used more extensively in the future.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<if $AntagonistModels neq undefined>>
<<set _j = 0>>
<<for _i to 0; _i < ($AntagonistModels.length/5); _i++>>
<table><tr>
<<set _k = (5 * _i)>>
<<for _j to 0; _j < 5; _j++>>
<<if _k < $AntagonistModels.length>>
<td align='center'>
<<set _id = $AntagonistModels[_k]>>
<<capture _id>> <<print "<div class='avatar'><<ImageModel $AntagonistModels[_k] 'portrait'>></div>">> $Bio[_id].namefull<br> <</capture>>
<<set _k += 1>>
</td>
<</if>>
<</for>>
</tr></table>
<</for>>
<</if>>
<<button "Back to Studio">><<goto "Studio">><</button>><<widget AntagonistStory>>
<<if $AntagonistStory[0] == 1>> /* First Chapter */
<<if $AntagonistStory[1] == 0>>
<<goto "AntagonistStory1">>
<<else>>
<<set $AntagonistStory[1] -= 1>>
<<goto "Studio">>
<</if>>
<<elseif $AntagonistStory[0] == 2>> /* Second Chapter */
<<if $AntagonistStory[1] == 0>>
<<goto "AntagonistStory2">>
<<else>>
<<set $AntagonistStory[1] -= 1>>
<<goto "Studio">>
<</if>>
<<elseif $AntagonistStory[0] == 3>> /* Third Chapter */
<<if $Bio[$ModelSelected].relationship > 3>>
<<goto "AntagonistStory3">>
<<else>>
<<goto "Studio">>
<</if>>
<<elseif $AntagonistStory[0] == 4>> /* Fourth Chapter */
<<if $AntagonistStory[1] > 0>>
<<goto "AntagonistStory4">><</if>>
<<if $AntagonistStory[1] == 0>>
<<goto "Studio">>
<</if>>
<<elseif $AntagonistStory[0] == 5>> /* Fifth Chapter */
<<if $AntagonistStory[1] > 0>>
<<set $AntagonistStory[1] = 0>><<goto "AntagonistStory5">>
<<else>>
<<goto "Studio">>
<</if>>
<<else>>
<<set $AntagonistStory[1] -= 1>>
<<goto "Studio">>
<</if>>
<</widget>>
/*** FILL WAITING ***/ /% Fill any empty waiting spots with a random guest %/
<<widget FillWaiting>>
<<for _i to 0; _i < $GuestWaiting.length; _i++>>
<<if $GuestWaiting[_i].id == "Empty" and $Guests.length > 0>>
<<set $GuestWaiting[_i] = $Guests[random(0,($Guests.length-1))]>>
<<set $Guests.delete($GuestWaiting[_i])>>
<</if>>
<</for>>
<</widget>>
/*** FILL PLAYER MODELS ***/
<<widget FillPlayerModels>>
<<set $GuestSelected = {id: "Empty", type: "Empty" }>>
<<set $GuestWaiting = [{id: "Empty", type: "Empty" },{id: "Empty", type: "Empty" },{id: "Empty", type: "Empty" }]>>
<<set $Table = ["","","","","","","","","","","","","","","",""]>>
<<if $AntagonistStory[0] == 8>>
<<set _tempBusiness = [1,2,3,4,5,6]>>
<<set _tempCards = []>>
<<set _tempBusinessName = ["CalvinClone", "RalfLoren", "Dolce&Banana", "GeorgeAmarni", "MountBlank", "LouisFuton", "Goosy", "Blueberry"]>>
<<for _i to 0; _i < 4; _i++>>
<<set _tempID = _tempBusiness[random(0,(_tempBusiness.length-1))]>>
<<set _tempName = _tempBusinessName[random(0,(_tempBusinessName.length-1))]>>
<<set _tempCards.push({ id: _tempName, type: "companies", top: _tempID, left: _tempID, bottom: _tempID, right: _tempID, middle: 4 })>>
<<set _tempBusiness.delete(_tempID), _tempBusinessName.delete(_tempName)>>
<</for>>
<<set $Guests = [ { id: "pro", type: "pro", top: 0, left: 0, bottom: 0, right: 0, middle: 0 }, { id: "ant", type: "ant", top: 9, left: 9, bottom: 9, right: 9, middle: 0 }, _tempCards[0], _tempCards[1], _tempCards[2], _tempCards[3]]>>
<<else>>
<<set $Guests = [ { id: "pro", type: "pro", top: 0, left: 0, bottom: 0, right: 0, middle: 0 }, { id: "ant", type: "ant", top: 9, left: 9, bottom: 9, right: 9, middle: 0 }]>>
<</if>>
<<set $Flips = 0>>
<<set _tempGuests = []>>
<<if $MinigameMode>><<set _tempGuests to Array.from($Bios)>><<else>><<set _tempGuests to Array.from($Models)>><</if>>
<<set _tempGameCards = []>>
<<set _tempGameCards = Array.from($GameCardInfo)>>
<<for _i = 0; _i < 4; _i++>>
<<set _rndGuest = _tempGuests[random(0, (_tempGuests.length-1))]>>
<<set _rndCard = _tempGameCards[random(0, (_tempGameCards.length-1))]>>
<<set _tempValues = [0,0,0,0]>>
<<if _rndCard.top == "extra">>
<<set _tempValues[0] = $Bio[_rndGuest].extra[0] + 3>> <<else>><<set _tempValues[0] = $Bio[_rndGuest].open[0]>><</if>>
<<if _rndCard.left == "extra">>
<<set _tempValues[1] = $Bio[_rndGuest].extra[0] + 3>> <<else>><<set _tempValues[1] = $Bio[_rndGuest].open[0]>><</if>>
<<if _rndCard.bottom == "extra">>
<<set _tempValues[2] = $Bio[_rndGuest].extra[0] + 3>> <<else>><<set _tempValues[2] = $Bio[_rndGuest].open[0]>><</if>>
<<if _rndCard.right == "extra">>
<<set _tempValues[3] = $Bio[_rndGuest].extra[0] + 3>> <<else>><<set _tempValues[3] = $Bio[_rndGuest].open[0]>><</if>>
<<set $Guests.push({ id: _rndGuest, type: "pmodel", top: _tempValues[0], left: _tempValues[1], bottom: _tempValues[2], right: _tempValues[3], middle: $Bio[_rndGuest].agree[0] })>>
<<set _tempGuests.delete(_rndGuest)>>
<<set _tempGameCards.delete(_rndCard)>>
<</for>>
<</widget>>
/*** FILL ANTAGONIST MODELS ***/
<<widget FillAntagonistModels>>
<<if $MinigameMode == false>><<set _tempGuests to Array.from($AntagonistModels)>><</if>>
<<set _tempGameCards = Array.from($GameCardInfo)>>
<<if $AntagonistStory[0] == 8>>
<<set _tempModels = 6>>
<<else>>
<<set _tempModels = 10>>
<</if>>
<<for _i = 0; _i < _tempModels; _i++>>
<<set _rndGuest = _tempGuests[random(0, (_tempGuests.length-1))]>>
<<set _rndCard = _tempGameCards[random(0, (_tempGameCards.length-1))]>>
<<set _tempValues = [0,0,0,0]>>
<<if _rndCard.top == "extra">>
<<set _tempValues[0] = $Bio[_rndGuest].extra[0] + 3>> <<else>><<set _tempValues[0] = $Bio[_rndGuest].open[0]>><</if>>
<<if _rndCard.left == "extra">>
<<set _tempValues[1] = $Bio[_rndGuest].extra[0] + 3>> <<else>><<set _tempValues[1] = $Bio[_rndGuest].open[0]>><</if>>
<<if _rndCard.bottom == "extra">>
<<set _tempValues[2] = $Bio[_rndGuest].extra[0] + 3>> <<else>><<set _tempValues[2] = $Bio[_rndGuest].open[0]>><</if>>
<<if _rndCard.right == "extra">>
<<set _tempValues[3] = $Bio[_rndGuest].extra[0] + 3>> <<else>><<set _tempValues[3] = $Bio[_rndGuest].open[0]>><</if>>
<<set $Guests.push({ id: _rndGuest, type: "amodel", top: _tempValues[0], left: _tempValues[1], bottom: _tempValues[2], right: _tempValues[3], middle: $Bio[_rndGuest].agree[0] })>>
<<set _tempGuests.delete(_rndGuest)>>
<<set _tempGameCards.delete(_rndCard)>>
<</for>>
<<set $GuestsCreated = true>>
<</widget>>
<<widget TableGuest>>
<<set _SeatID = $args[0]>>
<<if $Table[_SeatID] == ''>>
<<if $GuestSelected.id != 'Empty'>>
<<capture _SeatID>>
<<set $PrintImage = "images/cards/empty.png">>
<<print "<<link '[img[" + $PrintImage + "]]'>><<GuestSeated _SeatID>><<goto AntagonistDinner2>><</link>>">>
<</capture>>
<<else>><img src="images/cards/empty.png"><</if>>
<<else>>
<<ImageCard _SeatID>>
<</if>>
<</widget>>
<<widget GuestSeated>>
<<for _i=0; _i < 3; _i++>>
<<if $GuestWaiting[_i].id == $GuestSelected.id>><<set $GuestWaiting[_i] = $Empty>><</if>>
<</for>>
<<set $Table[$args[0]] = $GuestSelected, $GuestSelected = $Empty>>
<<FillWaiting>>
<</widget>>
<<widget GuestWaiting>>
<<capture _tempID>>
<<set _tempID = $args[0]>>
<<if $GuestSelected.id != $GuestWaiting[_tempID].id and $GuestWaiting[_tempID].id != "Empty">>
<<ImageCardWaiting _tempID>>
<<else>>
<img src="images/cards/empty.png">
<</if>>
<</capture>>
<</widget>>
<<widget ImageCard>>
<<set _tempID = $args[0]>>
<<if $Table[_tempID].type == "pro">>
<<set $PrintImage = "images/other/" + $Player.gender + ".webp">>
<<elseif $Table[_tempID].type == "companies">>
<<set $PrintImage = "images/companies/" + $Table[_tempID].id + ".webp">>
<<else>>
<<set $PrintImage = "" + $ImgDir + $Table[_tempID].id + "/portrait.webp">>
<</if>>
<div class="image-stack-game game"><<print "[img[" + $PrintImage + "]]">>
<<set $PrintImage = "" + $ImgDir + "cards/" + $Table[_tempID].top + $Table[_tempID].left + $Table[_tempID].bottom + $Table[_tempID].right + ".png">>
<div class="image-stack_item"><<print "[img[" + $PrintImage + "]]">></div>
<<if $Table[_tempID].type == "pmodel" and $AntagonistStory[0] != 8>>
<<set $PrintImage = "" + $ImgDir + "cards/pmodel.png">>
<div class="image-stack_item"><<print "[img[" + $PrintImage + "]]">></div>
<</if>>
<<set $PrintImage = "" + $ImgDir + "cards/" + $Table[_tempID].middle + ".png">>
<div class="image-stack_item"><<print "[img[" + $PrintImage + "]]">></div></div>
<</widget>>
<<widget FlipCard>>
<<set _tempID = $args[0]>>
<<set _tempFlip = $GuestWaiting[_tempID].bottom, $GuestWaiting[_tempID].bottom = $GuestWaiting[_tempID].top, $GuestWaiting[_tempID].top = _tempFlip>>
<<set _tempFlip = $GuestWaiting[_tempID].left, $GuestWaiting[_tempID].left = $GuestWaiting[_tempID].right, $GuestWaiting[_tempID].right = _tempFlip>>
<<set $GuestFlipCard = false, $Flips += 1>>
<</widget>>
<<widget ImageCardWaiting>>
<<if $GuestWaiting[_tempID].id == "pro">>
<<set $PrintImage = "images/other/"+ $Player.gender + ".webp">>
<<elseif $GuestWaiting[_tempID].type == "companies">>
<<set $PrintImage = "images/companies/" + $GuestWaiting[_tempID].id + ".webp">>
<<else>>
<<set $PrintImage = "" + $ImgDir + $GuestWaiting[_tempID].id + "/portrait.webp">>
<</if>>
<div class="image-stack-game game"><<print "[img[" + $PrintImage + "]]">>
<<set $PrintImage = "" + $ImgDir + "cards/" + $GuestWaiting[_tempID].top + $GuestWaiting[_tempID].left + $GuestWaiting[_tempID].bottom + $GuestWaiting[_tempID].right + ".png">>
<div class="image-stack_item"><<print "<<link '[img[" + $PrintImage + "]]'>><<set $GuestSelected = $GuestWaiting[_tempID]>><<goto AntagonistDinner2>><</link>>">></div>
<<if $GuestWaiting[_tempID].type == "pmodel" and $AntagonistStory[0] != 8>>
<<set $PrintImage = "" + $ImgDir + "cards/pmodel.png">>
<div class="image-stack_item"><<print "<<link '[img[" + $PrintImage + "]]'>><<set $GuestSelected = $GuestWaiting[_tempID]>><<goto AntagonistDinner2>><</link>>">></div>
<</if>>
<<set $PrintImage = "" + $ImgDir + "cards/" + $GuestWaiting[_tempID].middle + ".png">>
<div class="image-stack_item">
<<if $GuestFlipCard == 2>>
<<print "<<link '[img[" + $PrintImage + "]]'>><<FlipCard _tempID>><<goto AntagonistDinner2>><</link>>">>
<<else>>
<<print "<<link '[img[" + $PrintImage + "]]'>><<set $GuestSelected = $GuestWaiting[_tempID]>><<goto AntagonistDinner2>><</link>>">>
<</if>>
</div>
</div>
<</widget>>
<<widget ScoreTable>>
<<set $Matches = 0, $Clues = 0, $Penalties = 0>>
<<for _i=0; _i<$Table.length; _i++>>
<<set $Clue = 0>>
<<if _i == 0>>
<<set _tempA = ($Table.length -1), _tempB = _i+1>>
<<if $Table[_i].bottom == $Table[_tempA].top or $Table[_tempA].top == 0 or $Table[_tempA].top == 9>>
<<set $Matches +=1>>
<<if $Table[_tempA].type == "amodel" or $Table[_tempA].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<if $Table[_i].right == $Table[(_i+1)].left or $Table[(_i+1)].left == 0 or $Table[(_i+1)].left == 9>>
<<set $Matches +=1>>
<<if $Table[(_i+1)].type == "amodel" or $Table[(_i+1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<elseif _i == 1 or _i == 2 or _i == 3 or _i == 4 or _i == 5>>
<<if $Table[_i].left == $Table[(_i-1)].right or $Table[(_i-1)].right == 0 or $Table[(_i-1)].right == 9>>
<<set $Matches +=1>>
<<if $Table[(_i-1)].type == "amodel" or $Table[(_i-1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<if $Table[_i].right == $Table[(_i+1)].left or $Table[(_i+1)].left == 0 or $Table[(_i+1)].left == 9>>
<<set $Matches +=1>>
<<if $Table[(_i+1)].type == "amodel" or $Table[(_i+1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<elseif _i == 6>>
<<if $Table[_i].left == $Table[(_i-1)].right or $Table[(_i-1)].right == 0 or $Table[(_i-1)].right == 9>>
<<set $Matches +=1>>
<<if $Table[(_i-1)].type == "amodel" or $Table[(_i-1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<if $Table[_i].bottom == $Table[(_i+1)].top or $Table[(_i+1)].top == 0 or $Table[(_i+1)].top == 9>>
<<set $Matches +=1>>
<<if $Table[(_i+1)].type == "amodel" or $Table[(_i+1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<elseif _i == 7>>
<<if $Table[_i].top == $Table[(_i-1)].bottom or $Table[(_i-1)].bottom == 0 or $Table[(_i-1)].bottom == 9>>
<<set $Matches +=1>>
<<if $Table[(_i-1)].type == "amodel" or $Table[(_i-1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<if $Table[_i].bottom == $Table[(_i+1)].top or $Table[(_i+1)].top == 0 or $Table[(_i+1)].top == 9>>
<<set $Matches +=1>>
<<if $Table[(_i+1)].type == "amodel" or $Table[(_i+1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<elseif _i == 8>>
<<if $Table[_i].top == $Table[(_i-1)].bottom or $Table[(_i-1)].bottom == 0 or $Table[(_i-1)].bottom == 9>>
<<set $Matches +=1>>
<<if $Table[(_i-1)].type == "amodel" or $Table[(_i-1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<if $Table[_i].left == $Table[(_i+1)].right or $Table[(_i+1)].right == 0 or $Table[(_i+1)].right == 9>>
<<set $Matches +=1>>
<<if $Table[(_i+1)].type == "amodel" or $Table[(_i+1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<elseif _i == 9 or _i == 10 or _i == 11 or _i == 12 or _i == 13>>
<<if $Table[_i].right == $Table[(_i-1)].left or $Table[(_i-1)].left == 0 or $Table[(_i-1)].left == 9>>
<<set $Matches +=1>>
<<if $Table[(_i-1)].type == "amodel" or $Table[(_i-1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<if $Table[_i].left == $Table[(_i+1)].right or $Table[(_i+1)].right == 0 or $Table[(_i+1)].right == 9>>
<<set $Matches +=1>>
<<if $Table[(_i+1)].type == "amodel" or $Table[(_i+1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<elseif _i == 14>>
<<if $Table[_i].right == $Table[(_i-1)].left or $Table[(_i-1)].left == 0 or $Table[(_i-1)].left == 9>>
<<set $Matches +=1>>
<<if $Table[(_i-1)].type == "amodel" or $Table[(_i-1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<if $Table[_i].top == $Table[(_i+1)].bottom or $Table[(_i+1)].bottom == 0 or $Table[(_i+1)].bottom == 9>>
<<set $Matches +=1>>
<<if $Table[(_i+1)].type == "amodel" or $Table[(_i+1)].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<elseif _i == 15>>
<<set _tempA = _i-1, _tempB = 0>>
<<if $Table[_i].bottom == $Table[_tempA].top or $Table[_tempA].top == 0 or $Table[_tempA].top == 9>>
<<set $Matches +=1>>
<<if $Table[_tempA].type == "amodel" or $Table[_tempA].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<<if $Table[_i].top == $Table[_tempB].bottom or $Table[_tempB].bottom == 0 or $Table[_tempB].bottom == 9>>
<<set $Matches +=1>>
<<if $Table[_tempB].type == "amodel" or $Table[_tempB].type == "ant">><<set $Clue +=1>><</if>>
<<else>><<set $Penalties += $Table[_i].middle>><</if>>
<</if>>
<<if $Clue == 2 and $Table[_i].type == "pmodel">>
<<set $Clues += 1>>
<</if>>
<</for>>
<</widget>><fieldset><legend>Nemesis Quest <grey>- Chapter 1 -</grey></legend>
You are putting the studio gear back to how it was so $Antagonist.name doesn't know you have been using his studio when you hear a noise in another part of the building.<br><br>
You go off and investigate and as you peak into the room you notice $Antagonist.name making a couple of drinks and slyly dropping something into one of the drinks. As you look behind him you notice a beautiful young girl sitting down nervously in a chair.
</fieldset>
<center><div class="inlinestory"><img src="images/other/antagonistc1a.webp"></div></center><br>
<fieldset>
$Antagonist.name walks back and casually gives the girl the drink, watching her take a sip. What the fuck is that about, is he trying to drug her?<br><br>
A part of you wants to speak up and say something but you are not even supposed to be in the building after hours. If he catches you, you're out of a job!<br><br>
Perhaps she just has a headache... Yeah that must be it... Right?
</fieldset>
<<set $AntagonistStory[1] -= 1>><br>
<<button "Continue...">><<goto "Studio">><</button>><center><div class="inlinestory"><img src="images/other/antagonistc2a.webp"></div></center><br>
<fieldset><legend>Nemesis Quest <grey>- Chapter 2 -</grey></legend>
As you are packing up your set you over hear $Bio[$ModelSelected].name talking on the phone to another model about some creepy guy abusing models. While you don't hear any names mentioned for some reason you have a strong feeling they are talking about $Antagonist.name.<br><br>While $Antagonist.name is an arongant spoilt little ass, you have a strong feeling there is an even darker side of him that you don't see when you are at work.
</fieldset>
<<set $AntagonistStory[0] = 3>><br>
<<button "Continue...">><<goto "Studio">><</button>><fieldset><legend>Nemesis Quest <grey>- Chapter 3 -</grey></legend>
$Bio[$ModelSelected].name comes upto you after the set. Looking down and bighting her lip she is very hesitant but there is something she wants to say.
</fieldset>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Hey I was at $Antagonist.name's studio the other day and I overhead $Antagonist.name talking about $Player.studioname. They are both pretty pissed about this new studio operating in their town. They kinda stoped talking when they saw me enter the room. I don't think they know it's you running it but I would watch yourself. They can get a bit underhanded if you know what I mean. I'm sure it's nothing and you can look after yourself but I just wanted you to know.<br><</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
Thanks $Bio[$ModelSelected].name for letting me know!<br><br> So I'm getting under their skin hey? Perhaps the competition will make them pick up their game and start putting some effort into their photography?<</dialogue>>
<<set $AntagonistStory[0] = 4, $AntagonistStory[1] = 2>><br>
<<button "Continue...">><<goto "Studio">><</button>><fieldset><legend>Nemesis Quest <grey>- Chapter 4 -</grey></legend>
<center><img src="images/other/antagonistc4a.png"></center><br>
You recieve a letter, it's from $Antagonist.company. He has invited you plus a guest to attend a weekly party he hosts. While the last thing you want to do is socialise with $Antagonist.name it would be a good chance to check out his home. If he is doing underhanded shit with the models, there is bound to be evidence of somesort located around the place. I'll need to take someone with me, perhaps someone who will get peoples attention while I go and do my thing.
</fieldset>
<br>
<<set $AntagonistStory[1] = 0>>
<<button "Continue...">><<goto "Studio">><</button>><fieldset><legend>Nemesis Quest <grey>- Chapter 5 -</grey></legend>
As you arrive at the address given, you are not surprised to see a massive house with a number of sports cars parked out the front. You and $Bio[$ModelSelected].name make your way to the house, a bodyguard is at the front and demands to see your invitation. You hand it over and he ushers you inside, smiling at $Bio[$ModelSelected].name as he looks her up and down.
<center><div class="inlinestory"><img src="images/other/antagonist5.webp"></div></center><br>
When you get inside, the house is grand, there are a number of guests standing and chatting to each other, nobody whome you know. As stunningly beautiful as $Bio[$ModelSelected].name looks in her dress she seems to fit right in with the crowd. $Bio[$ModelSelected].name spots a group of beautiful women standing in the corner of one of the rooms, she waves and smiles and tugs on you to head over with her to them.
<center><div class="inlinestory"><img src="images/other/antagonist1.webp"></div></center><br>
$Bio[$ModelSelected].name seems to be at ease, you on the other hand feel out of place and uncomfortable in your suit. A hour has passed and $Bio[$ModelSelected].name hasn't stopped chatting with her friends. Now seems like a good time to excuse yourself and take a look upstairs.
</fieldset>
<<dialogue "$Player.name" "other" $Player.gender>>
Hey I'm going to have a look about. You ok here?<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Yeah, don't leave without me though!<br><</dialogue>>
<fieldset>
You head off towards the staircase. It is blocked by a rope bollard. You stand there for a few seconds looking around, everyone seems distracted. When you think nobody is looking you squeeze yourself past the bollard and quickly head up the steps. There appears to be another security guard up here walking around, thankfully he is too busy looking down from the banister perving down the tops of the guests.
</fieldset>
<center><div class="inlinestory"><img src="images/other/antagonist3.webp"></div></center><br>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Hey, what you doing?<br><</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
Fuck!<</dialogue>>
<fieldset>
You gently pull $Bio[$ModelSelected].name to the side of the passage away from the view of the security guard.
</fieldset>
<<dialogue "$Player.name" "other" $Player.gender>>
I'm... Having a little look about the place, you should probably head back down stairs. I don't think they will be to pleased catching us up here.<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
You're not stealing stuff are you? I mean I don't care if you are I don't really like the guy but I just didn't think that was like you.<br><</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
No I'm not stealing stuff. I don't trust the guy. He's upto some shit and probably drugging his models and who knows what else. I need to know what it is because I have a feeling people are being hurt because of him.<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Can I help?... I want to help!<</dialogue>>
<fieldset>
You realise $Bio[$ModelSelected].name isn't going away anytime soon so against your better judgement you decide to let her tag along.<br><br>You walk along the upstairs corridor peeking in the different rooms. There are a number of nicely made up bedrooms but nothing obvertly obvious that is out of place. You get to the end of the hall and there are two grand doors that enter into a much larger bedroom.
</fieldset>
<<dialogue "$Player.name" "other" $Player.gender>>
This must be his bedroom. Wait here while I look about.<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Ok, I'll warn you if anybody comes...<</dialogue>>
<fieldset>
You start rummaging through the room as fast as you can. Fuck why is this room so big! You open up his drawers, there are some handcuffs and other sextoys but again nothing overtly bad. You open up another set of doors and there is a giant walk-in wardrobe, you make your way through to the ensuite and have a look in the cupboards there. Fuck! As you head back out you notice the walkin wardrobe has a number of drawers, it would take a while to go through them but if there was something here, this is the only spot left you can think it would be. You also hear $Bio[$ModelSelected].name calling out to you and saying something but you can't make out what.
</fieldset>
<<dialogue "Security Guard" "other" $Player.gender>>
What are you doing up here?<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Hey, I'm busting for the loo, the toilet downstairs was occupied so I thought I'd use the ensuite.<</dialogue>>
<<dialogue "Security Guard" "other" $Player.gender>>
There are three toilets downstairs I'm sure one will be free shortly. Who were you talking to?<</dialogue>>
<br>
<<set _tempValue = $Bio[$ModelSelected].popularity * 10>>
<<if _tempValue > 110 >> <<set _tempValue = 110>><</if>>
<<set _tempValue = Math.floor((_tempValue/120)*100)>>
Chance of success for $Bio[$ModelSelected].name: _tempValue % <br>
<<button "Continue...">><<goto "AntagonistPartyOutcome">><</button>>
<<if _tempValue <= 25>> | <<button "Backout and go home.">><<goto "Studio">><</button>><</if>><<set _tempValue = $Bio[$ModelSelected].popularity * 10>>
<<if _tempValue > 110 >> <<set _tempValue = 110>><</if>>
<<set _tempValue = Math.floor((_tempValue/120)*100)>>
<<set _tempResult = random(1,120) - _tempValue>>
<<if _tempResult <= 0>>
<gl><i class='fsicon'> </i> Success</gl><br>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Oh that? That was me just trying to get your attention. I was hoping you could help me? Can you show me where these other toilets are, I am horrible with directions.<</dialogue>>
<<dialogue "Security Guard" "other" $Player.gender>>
Sure... Hey I thought I recognised your face. You're $Bio[$ModelSelected].name right? I saw photos of you online you are really pretty.<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Oh thanks, teehee... Hey, Do you workout? Your shoulders fill that shirt really nice...<</dialogue>>
<fieldset>
Their voices trail off and you continue to search the room. That's where you find it. A brown paper envelope. Inside was a small ziplock bag with a dozen white pills. Bingo drugs! You take the pills out of the envelope and replace them with a bunch of white pills from the medicine cabinet in the bathroom and quickly make your way back downstairs meeting back up with $Bio[$ModelSelected].name.
</fieldset>
<gl><i class='fsicon'> </i></gl> $Bio[$ModelSelected].name has grown closer to you.
<<set $AntagonistStory[0] = 5, $AntagonistStory[1] = 1>>
<<set $Bio[$ModelSelected].relationship += 1>>
<<elseif _tempResult <= 15>>
<r><i class='fsicon'> </i> Minor Fail</r><br>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Nobody, I'm just lost. I was just mumbling to myself.<</dialogue>>
<<dialogue "Security Guard" "other" $Player.gender>>
I want you to head back downstairs now while I go check out this room. If I catch you up hear again you won't get off this easy.<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Yes sir, right away sir.<</dialogue>>
<fieldset>
You quickly run to the main bedroom and notice a open window, there is a bit of a drop down but what choice do you have? You don't want $Antagonist.name catching you up here. Checking the coast is clear you jump out of the second story window, falling hard into the bushes and shrubbery below.<br>
<br>
You dust yourself off as best as you can and quietly make your way to the front where $Bio[$ModelSelected].name is standing there waiting for you. $Bio[$ModelSelected].name Takes a twig out from under your collar as you walk past another security card going to your car. Tonight had been unsuccessful but atleast you both got out of it relatively unscathed.
</fieldset>
<<elseif _tempResult <= 35>>
<r><i class='fsicon'> </i> Fail</r><br>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Nobody I swear, I'm just lost.<</dialogue>>
<<dialogue "Security Guard" "other" $Player.gender>>
Jimmy, I have a girl here wandering about the house, can you check out the bedroom while I pat her down to make sure she hasn't stolen anyhting.<</dialogue>>
<center><div class="inlinestory"><img src="images/other/antagonist4.webp"></div></center><br>
<fieldset>
You quickly run to the main bedroom and notice a open window, there is a bit of a drop down but what choice do you have? You don't want $Antagonist.name catching you up here. Checking the coast is clear you jump out of the second story window, falling hard into the bushes and shrubbery below.<br>
<br>
You dust yourself off as best as you can and quietly make your way to the front where shortly after $Bio[$ModelSelected].name comes out.
</fieldset>
<<dialogue "$Player.name" "other" $Player.gender>>
You ok? I'm so glad you got out.<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Yeah... He frickin searched me though. Touching me you know where...<</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
Fuck I'm sorry. I'll make it up to you.<</dialogue>>
<r><i class='fsicon'> </i></r> $Bio[$ModelSelected].name loses some stability.
<<set $Bio[$ModelSelected].stability -= 1>>
<<else>>
<r><i class='fsicon'> </i> Critical Fail</r><br>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Nobody, I'm just lost.<</dialogue>>
<<dialogue "Security Guard" "other" $Player.gender>>
Jimmy, I have a girl here wandering about the house, can you check out the bedroom while I take her to see $Antagonist.name to see what he wants to do with her.<</dialogue>>
<center><div class="inlinestory"><img src="images/other/antagonist4.webp"></div></center><br>
<fieldset>
You quickly run to the main bedroom and notice a open window, there is a bit of a drop down but what choice do you have? You don't want $Antagonist.name catching you up here. Checking the coast is clear you jump out of the second story window, falling hard into the bushes and shrubbery below.<br>
<br>
You dust yourself off as best as you can and quietly make your way to the front where you wait around for $Bio[$ModelSelected].name. Unfortunately she is nowhere to be found and her friends have not seen her.<br>
<br>
You wait outside his property when you finally get an answer from her phone.
</fieldset>
<<dialogue "$Player.name" "other" $Player.gender>>
Hey, you ok? Where have you been?<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Who is this? Fuck, my head!<</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
Are you ok? I'm worried about you! Where are you?<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Fuck... I'm home, I think... I thought I was having a nightmare, fuck look at my dress... I'm fine $Player.name, don't worry. I don't want to talk about it.<</dialogue>>
<fieldset>
$Bio[$ModelSelected].name hangs up the phone. You try a number of times to call back but she doesn't pick up. She sends you a message much later telling you she doesn't know what happened that night and doesn't want to talk about it. She seems a bit differnet but atleast she is ok. I think?
</fieldset>
<r><i class='fsicon'> </i></r> $Bio[$ModelSelected].name has fallen into depression.
<<set $Bio[$ModelSelected].health["depression"] += 1>>
<</if>>
<br>
<<button "Continue...">><<goto "Studio">><</button>><fieldset><legend>Nemesis Quest <grey>- Chapter 5 -</grey></legend>
I sat down and looking on the dining room table the bunch of pills I had taken from $Antagonist.name's office were still sitting there. I probably shouldn't have drugs just sitting there so openly.<br>
<center><img src="images/other/antagonistc5a.png"></center><br>
I wanted to confirm that he was dealing in extacy; I would have to get the pills tested. If it was drugs though I would need it to be tested discreatly.
</fieldset>
<br>
<<button "Continue...">><<goto "Studio">><</button>><fieldset><legend>Nemesis Quest <grey>- Chapter 6 -</grey></legend>
I took one of the tablets and put it into a small container. My contact asked me to meet him in the park in the city. He took the cash and pill and wuld go back to his office and return in two hours with the results.<br><br>
I didn't know if I could trust him as he ran off back to his office. I had a bad feeling I had been duped out of some cash.<br><br>
Two hours later he returned.
</fieldset>
<<dialogue "Scientist" "other" $Player.gender>>
Those pills... Where did you get them from?<</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
I'd prefer not to say, remember no questions asked. So what are they?<</dialogue>>
<<dialogue "Scientist" "other" $Player.gender>>
I only ask because they came back positive as being flunitrazepam. That drug is completely banned in this country.<</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
I've never heard of it. So it's not extacy?<</dialogue>>
<<dialogue "Scientist" "other" $Player.gender>>
No, and in the wrong hands it is far worse. It's more commonly known as Rohypnol. In a tablet this size, it would likely cause severe mussle weakness, amnesia, sleepiness or loss of consciousnes in an individual. It's used as a "date rape" drug, the effects usually start within 30 minutes and can last over 12 hours. I have seen them once before but those came with a blue dye. These are colourless and odourless, you wouldn't notice until too late that you had consumed it.<</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
Shit... Ok thanks... You have told me what I need to know.<</dialogue>>
<br>
<<button "Continue...">><<goto "AntagonistStory6b">><</button>><fieldset><legend>Nemesis Quest <grey>- Chapter 6 -</grey></legend>
Damn, was he really drugging and having his way with women. That means that girl, back at the studio... Oh shit, he's been doing this for a while and likely with a number of different girls.<br>
<br>
I was about to head over to the police to turn this evidence in when I realised that I needed this to be a guaranteed conviction, and having illegally obtained it, it couldn't be used. He'd just have to look back at the security camera footage and before I know it I'd be the one facing criminal charges.<br>
<br>
I needed to act smarter, hopefully it would be a while before he notices the drugs in that envelope are little more than pain killers. By whch time he would have to go over copius amounts of camera footage. Not something I could see him bothering to do.<br>
<br>
I needed a way to get to his models. He must have something over them to make them not want to talk. But perhaps I could get them to spill information without knowing it. If I got them comfortable enough, perhaps I could get the dirt I needed simply by taking advantage of their need to share these dark secrets.<br>
<br>So it was decided. I would host a dinner of my own, inviting $Antagonist.name and his models. Here I could gather the dirt I needed on him. But if he was going to attend. This would have to be some pretty lavish dinner!
</fieldset>
<<set $AntagonistStory[0] = 7>><br>
<<button "Continue...">><<goto "EndDay">><</button>><<set _tempGame = false>>
<<if $AntagonistModels.length >= 9 and $Models.length > 3 and $Upgrades.path["citypenthouse"].researched and $Player.money >= 10000>><<set _tempGame = true>><<elseif $MinigameMode>><<set _tempGame = true>><</if>>
<<if _tempGame>>
<<if $AntagonistStory[0] == 8>>
<fieldset>
<legend>Nemesis Quest: <grey>- Chapter 8 - The confrontation</grey></legend>
It is time to host your final dinner.<br>
As you do not have to collect clues this final dinner will play out slightly different.<br>
You have invited representatives of 4 different companies over. These representatives have a single personality trait (so no point flipping them) and will generate 4 conflict if not matched.
</fieldset>
<<set $AntagonistStory[0] = 8>>
<<FillPlayerModels>>
<<FillAntagonistModels>>
<<button "Your guests have started to arrive">><<set $Player.money -= 10000>><<goto AntagonistDinner2>><</button>>
<<else>>
<fieldset>
<legend>Nemesis Quest: <grey>- Chapter 7 - Gathering Intel</grey></legend>
You have organised a dinner to try and get some dirt against your antagonist. There will be 13 guests at your dinner, 3 of whome you know quite well and have agreed to help you out. The other 9 are aquaintences of the antagonist who you are sure have a few things to say about him but they will likely need to be really comfortable (and drunk) before they reveal any secrets.<br>
<br>
As your guests arrive you will need to sit them somewhere around the dinner table. Try to sit your guests in a way that you match the personality trait that is exposed to the other person.<br>
<center><img src="images/cards/match.png"></center><br>
The three models who have agreed to help you out tonight to gain information have a little purple spy symbol on their card. To successfully get dirt you will need to match the traits on both sides of their card if they are going to have any luck on getting dirt on your antagonist.<br>
<center><img src="images/cards/dirt.png"></center><br>
While your model's can gain information off of the antagonist. If they are sat next to you (the protagonist) they will not learn anything new. However they will not be any conflict.
<center><img src="images/cards/nondirt.png"></center><br>
You will need to host a number of successful dinners to get the dirt you require.<br>
</fieldset>
<fieldset>
<legend>Conflict</legend>
Any non-matches of personalities will cause conflict on the night. If you gain more conflict than personality matches the drama will end the night short with no opportunity to gain any dirt.<br>
<center><img src="images/cards/conflict.png"></center><br>
You will also have a brief opportunity to speak to the models before they are seated pre-warning them of who they are sitting next to. This will flip the positions of the traits on their card but will also cause 1 conflict as they feel like you are treating them less important to other guests.
</fieldset>
Dirt obtained: $Antagonist.dirt[1]/$Antagonist.dirt[0]<br>
<<FillPlayerModels>>
<<FillAntagonistModels>>
<<button "Your guests have started to arrive">><<set $Player.money -= 10000>><<goto AntagonistDinner2>><</button>>
<</if>>
<<else>>
<fieldset>
<legend>Dinner preparations</legend>
You do not have everything you need:<br>
<<if $AntagonistModels.length >= 9>><lg>Antagonist Models: $AntagonistModels.length/9</lg><<else>><r>Antagonist Models: $AntagonistModels.length/9</r><</if>><br>
<<if $AntagonistModels.length >= 3>><lg>Protagonist Models: $Models.length/3</lg><<else>><r>Protagonist Models: $Models.length/3</r><</if>><br>
Own a penthouse or better: <<if $Upgrades.path["citypenthouse"].researched>><lg>$Upgrades.path["citypenthouse"].researched</lg><<else>><r>$Upgrades.path["citypenthouse"].researched</r><</if>><br>
<<if $Player.money >= 10000>><lg>Catering and supplies: <r><i class='fsicon'> </i></r> 10000</lg><<else>><r>Catering and supplies: <r><i class='fsicon'> </i></r> 10000</r><</if>><br>
</fieldset>
<<button "Continue...">><<goto Studio>><</button>>
<</if>><table>
<tr>
<td><<TableGuest 0>></td>
<td><<TableGuest 1>></td>
<td><<TableGuest 2>></td>
<td><<TableGuest 3>></td>
<td><<TableGuest 4>></td>
<td><<TableGuest 5>></td>
<td><<TableGuest 6>></td>
</tr><tr>
<td><<TableGuest 15>></td>
<td colspan=5><center><img src="images/cards/table.png"></center></td>
<td><<TableGuest 7>></td>
</tr><tr>
<td><<TableGuest 14>></td>
<td><<TableGuest 13>></td>
<td><<TableGuest 12>></td>
<td><<TableGuest 11>></td>
<td><<TableGuest 10>></td>
<td><<TableGuest 9>></td>
<td><<TableGuest 8>></td>
</tr>
</table>
<<FillWaiting>>
<<if $GuestWaiting[0].id != "Empty" or $GuestWaiting[1].id != "Empty" or $GuestWaiting[2].id != "Empty" >>
Waiting to be seated: <small><i>(click to select)</i></small><br>
<table><tr><td><<GuestWaiting 0>><div class="flip"><<button "Flip">><<FlipCard 0>><<goto AntagonistDinner2>><</button>></div></td>
<td><<GuestWaiting 1 >><div class="flip"><<button "Flip">><<FlipCard 1>><<goto AntagonistDinner2>><</button>></div></td>
<td><<GuestWaiting 2 >><div class="flip"><<button "Flip">><<FlipCard 2>><<goto AntagonistDinner2>><</button>></div></td></tr></table>
<br>
<<if $GuestFlipCard>>
<<button "Flip Personality">><<set $GuestFlipCard = 2>><<goto AntagonistDinner2>><</button>> - Single use, flips the traits on waiting guest.
<</if>>
<<else>>
<<ScoreTable>>
<<set $Matches = $Matches /2>>
Matches: $Matches<br>
<<set $Penalties += $Flips>>
Conflict Generated: $Penalties <smaller>($Flips from flips)</smaller><br>
<<if $MinigameMode>>
<<button "End night">><<set $MinigameMode = false>><<goto Studio>><</button>>
<<elseif $AntagonistStory[0] == 7>>
<<if $Matches > $Penalties>>
$Clues pieces of dirt were obtained about the antagonist<br>
<<if $MinigameMode == false>><<set $Antagonist.dirt[1] += $Clues>><</if>>
<<else>>
Your guests did not enjoy the night and you were unable to obtain any information about the antagonist.<br>
<</if>>
<<if $Antagonist.dirt[1] >= $Antagonist.dirt[0]>><<set $AntagonistStory[0] = 8>><</if>>
<<button "End night">><<goto EndDay>><</button>>
<<elseif $AntagonistStory[0] == 8>>
<<if $Matches > $Penalties>>
<<set $AntagonistStory[0] = 9>>
<<button "End night">><<goto AntagonistStory9>><</button>>
<<else>>
There was too much conflict at the dinner table and many of your guests were not at ease and left early. You will have to try again another night.<br>
<<button "End night">><<goto EndDay>><</button>>
<</if>>
<</if>>
<</if>><fieldset><legend>Nemesis Quest <grey>- Chapter 9 -</grey></legend>
Just before dinner you stand and gather everyones attention.<br>
You acknowledge the various representatives of the industry as well as the models that have attended the night.<br>
</fieldset>
<<dialogue "$Player.name" "other" $Player.gender>>
Photography is an art, just like any sculptor or painter we try and capture the wonder that this world has to offer?<</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
Lust, beauty and attraction are powerful drivers which is why we need to make sure when we work in these areas we are professional and appreciate it for what it is, an art.<</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
Unfortunately there are those in this industry who use power, control, and dominance to abuse others. They feel that they have a right to all the wonder our beautiful models provide irrespective of the consequences to them or to others.<</dialogue>>
<fieldset>
You make eye contact with $Antagonist.name.<br>
</fieldset>
<<dialogue "$Player.name" "other" $Player.gender>>
$Antagonist.name, your ruthelessness and treatment of others is appauling. <</dialogue>>
<fieldset>
You walk down the table throwing down a series of photos onto the table.<br>
</fieldset>
<<dialogue "$Player.name" "other" $Player.gender>>
Drugs... Predatory Rape... Bribary... Assault... Child Sexual Abuse... It is all here and $Antagonist.name you are the instigator of all of it.<</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
Today these photos and a bunch of other information was sent to the police. I do not know what the police will find with their investigaitons but I will ensure you never work in this industry again. I promise no company will want to associate with you or your families name ever again. You may want to head home, I think the police will be there right now gathering more evidence,.<</dialogue>>
<fieldset>
$Antagonist.name stands up and looks around the room. What friends he did have in the room didn't want to be associated with him at all. Without a word he turns and exits your home.<br>
Your life has just gotten a lot less stressful!<br>
</fieldset>
<<set $AntagonistStress = 0>>
<<if $PlayerDeception == "nemesis">>
Your deception was to defeat $Antagonist.name and you have done just that.<br><br>
As such you can:<br>
<<button "Claim Victory">><<goto "Victory">><</button>><<print " or continue playing and ">>
<</if>>
<<button "End night">><<goto EndDay>><</button>><<button "Back">><<goto `previous()`>><</button>><br>
<fieldset class="charc"><legend>Build 17</legend>
<b>Date: 6/11/22</b>
<ul>
<li>New - More events added. 66% of models now have events 25% have 3 or more events.</li>
<li>Change - Events: Events can now apply to both genders using 'male,female'. Do not use a space after the comma.</li>
<li>Change - Changed a couple of models, taking out models without events with models with 3+ events. The models that have been removed have been placed in the Mercedes mod.</li>
<li>Change - Tidied up the data files a bit for better organisation, and to split the core and extended zips.</li>
<li>Fix - Fixed a couple of event pics and events.</li>
<li>Fix - Fixed the achievement screen not displaying gallery properly. Also after unlocking 5 models now displays 24 pics instead of 32.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 16</legend>
<b>Date: 3/10/22</b>
<ul>
<li>New - 2 new girls and around 100 events added. 56% of models now have events 15% have 3 or more events.</li>
<li>Change - Achievement screen now shows gallery pics when you click on portrait. Once you have unlocked 5 it will also show 32 random pics of models you have unlocked and when you unlock 20 this increases to 100.</li>
<li>Change - Models popularity will be limited to current popularity cards.</li>
<li>Change - Now more important to use judges preferences to win competitions. Keep in mind some models are more likely to win than others as their preferences do not change.</li>
<li>Change - Events now included in core for download size optimisation.</li>
<li>Fix - Fixed problems in the following galleries, Naomi Woods, Dominika Jules, Naomi Swann and Lilya.</li>
<li>Fix - Concubine choice tooltips now display when page scrolled.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 15</legend>
<b>Date: 4/8/22</b>
<ul>
<li>New - ModelsExtended: 9 new models</li>
<li>New - ModelsExtended: 58 relationship events added (7 unique)</li>
<li>New - After 8 weeks of being concubined model can become: Lady of Graceful Beauty - increases stress reduction, Lady of Lovely Countenance - inreases your fame, or Lady of Complete Deportment - removes her weekly cost</li>
<li>New - Website affects the chance of getting a popularity card. The website will also provide a weekly income for the Model's where the player has completed all 4 sets based on their popularity.</li>
<li>New - Dressingroom, Increases chance of getting poise card.</li>
<li>New - Relationship event icon located in model bio screen which when mouse over shows number of unique relationship events and events remaining for the model.</li>
<li>New - Models get a 0.5% boost to their photoshoots and website income per poise value.</li>
<li>Change - Once a model wins a competition they may no longer re-enter.</li>
<li>Change - Winning a competition provides the model a 5 week national contract with income based on the models poise, models can still obtain a regular contract at the same time. Also provides a boost to the model's popularity (+10) and a boost to the studio reputation (+30)</li>
<li>Change - Base stress reduction of a concubine has increased by 50%.</li>
<li>Change - Removed todo screen as it was not being utilised well.</li>
<li>Fix - Game did not handle relationships going below 0.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 14</legend>
<b>Date:</b> 14 July 2022
<ul>
<li>New - ModelsExtended: 2 new relationship event</li>
<li>New - Skip Day button now available from studio screen. If your stress is over 40% it will also provide a short term deminishing stress reduction. If your stress is over 30% and you have concubines you will get a reduction from them as well</li>
<li>New - A warning message will pop-up when the players stress goes over 50% letting the player know they should probably hold off on getting more models. Hitting the ok button will permanently remove this message</li>
<li>Fix - The stress reduction fix for completing the antagonist event did the opposite, the fix is now fixed</li>
<li>Fix - End game image file put back</li>
<li>Fix - Relationship Events not executing properly</li>
<li>Fix - Debug mode at start of game was not updating</li>
<li>Change - Image tag can take modelname as extra tag to goto model's folder</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 13</legend>
<b>Date:</b> 3 July 2022
<ul>
<li>New - 11 new models have been added. Total 70 in core and 90 in extendend.</li>
<li>Fix - Stress reduction once you have completed the antagonist now works.</li>
<li>Change - Complete rehaul of how the lsm mod files work. Different LSM files are now independant of each other.</li>
<li>Change - General Optimisation to make the screens load faster - particularly with mods.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 12</legend>
<b>Date:</b> 14 June 2022
<ul>
<li>New - 31 new models have been added. Total 149 by default</li>
<li>New - 1 new relationship event. 3 girls now have unique events</li>
<li>New - New tags have been created for the RelationshipData.lsm file allowing for more flexible text types to be displayed.</li>
<li>New - Author tag has been created for the RelationshipData.lsm file allowing a creator to identify their own events.</li>
<li>Change - Model auditions checkbox is now selected by default.</li>
<li>Change - Auditions for each girl now cost money (default 500) and have to be individually clicked to reveal the model.</li>
<li>Change - Receptionist personalities will alter the cost for auditions and how many girls can be auditioned. Certain personalities will also allow you to preview model stats.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 11</legend>
<b>Date:</b> 29 May 2022
<ul>
<li>New - Alecia and Sapphira events have been added.</li>
<li>Change - Converted most images to webp format. Quality of photos has improved from 84% to 95% with filesize of the photo reducing by 20%.</li>
<li>Fix/Change - Extensive changes to events in the relationshipData.lsm file. This file has now been renamed to be enabled by default.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 10b&c</legend>
<b>Date:</b> 14 May 2022
<ul>
<li>Fix - Fixed concubine requirement info.</li>
<li>Fix - Relocated side menu's to office screen under settings to remove issues from entering via different screens.</li>
<li>Fix - Annoying rounding issue should be fixed!</li>
<li>Fix - Chrome and Edge browsers not starting game properly. (Thanks Alcahest and others for reporting)</li>
<li>Fix - Slider display issue on Chrome and Edge browsers fixed. Updated again in build c(Thanks Disgrntler and Jim)</li>
<li>Fix - Measurements in model list just showing bust measurements.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 10</legend>
<b>Date:</b> 14 May 2022
<ul>
<li>NEW - 19 new girls added.</li>
<li>NEW - The lounge is now functional, increasing the chance of getting a relationship card during photoshoots upto 10%.</li>
<li>Change - Relationship value needed to concubine is now 13 instead of 6 however the requirement to win competitions has now been removed. If you have a prior custom relationshipdata file, values will need to be adjusted.</li>
<li>Change - The full size of new photos has increased from 533x800 to 600x900. Some existing photos were also improved.</li>
<li>Change - Fleshed out the end a bit for finishing the antagonist scenario. Stress relief reward also provided for completing the questline.</li>
<li>Change - Achievement - Now indicates the names of which deceptions have been completed.</li>
<li>Fix - Problems with loading sequence of models should now be fixed.</li>
<li>Fix - Money bonus for adaptable personalities was not being applied (due to build 8 changes).</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 9</legend>
<b>Date:</b> 13 April 2022
<ul>
<li>NEW - Achievements - Tracks deceptions player has completed.</li>
<li>NEW - Achievements - Tracks model sets that have been completed.</li>
<li>NEW - 12 new girls added.</li>
<li>Change - Dud photo's now come in 3 varients (blury, high contrast, over exposed).</li>
<li>Fix - Fixed side menu buttons not returning to proper screens.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 8</legend>
<b>Date:</b> 18 March 2022
<ul>
<li>NEW - 6 new girls added (Adria Rae, Alecia Fox, Aleksandrina Avgeadod, Eden Arya, Sash Grey, Mary Rock).</li>
<li>Change - Modified end of week screen.</li>
<li>Change - Modified photo shoot screen.</li>
<li>Change - Upgrades - Tooltips for upgrades contain more relevant information about what the upgrade provides.</li>
<li>Change - Upgrades - Temporarily removed 3 non-used upgrades. Will put back in when implemented</li>
<li>Change - Some minor changes to nemesis story.</li>
<li>Change - Minor changes to Malina Fendi's photos.</li>
<li>Change - Minor change to Contracts screen to make it easier to see who is elegable.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 7</legend>
<b>Date:</b> 5 February 2022
<ul>
<li>NEW - Antagonist/Nemesis deception added.</li>
<li>Change - Changes to the renown requirements to acquire new models.</li>
<li>Change - Modificaiton to end game goal requirements. Money deception requirement increased from 200,000 to 250,000. Women deception completed cards increased from 12 to 20.</li>
<li>Change - Rented studio max models increased from +2 to +3 however Carport studio max models reduced from +2 to +1.</li>
<li>Fix - Receptionist now increases maxmodels value when hired.</li>
<li>Fix - Code fixes that affected the interface display on some browsers.</li>
<li>Fix - Competition results coming up blank bug found andd removed.</li>
<li>Fix - Sorting the competition screen no longer advances the competition stage breaking the competition.</li>
<li>Fix - .jpeg's changed to .jpg.</li>
<li>Fix - Missing extravert decrease value in StabilityData.lsm file causing bug.</li>
<li>Fix - Events incorrectly adjusting extravert value causing corruption of extravert model data has been fixed. Models personality descriptor will also change when there personality is affected by an event.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 6</legend>
<b>Date:</b> 16 January 2022
<ul>
<li>NEW - 4 new girls added (Angela Haddie, Katrina Novikova, Mira Niemira, Seltin).</li>
<li>NEW - Relationship event system built into game and functioning. Lacks content at the moment.</li>
<li>Change - Events now also have a picture linked to them.</li>
<li>Change - Model notes information has been updated to show their traits.</li>
<li>Fix - Can now sort Z-A with contracts and popularity.</li>
<li>Fix - Sorting the competition screen no longer takes you back to the studio screen.</li>
<li>Fix - Concubine upgrade button now tests to ensure concubine is researched before becoming available.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 5</legend>
<b>Date:</b> 9 January 2022
<ul>
<li>Change - Office screen now tells you what is needed to concubine a model and deception goals show progress on some of the goals.</li>
<li>NEW - Stability event system implemented.</li>
<li>NEW - 8 new girls added (Avril Hall, Charlie Red, Helga Lovekaty, Viktoriia Aliko, Kourtney Scarlett, Lily Rader, Precious A, Sapphira A).</li>
<li>NEW - Models can now be added by putting their images (32 x 533w 800h) images and portrait (250w 250h) in the images folder and adding their details to the ModelData.lsm file. Important: Don't put spaces in their folder name. To remove models just delete them from the ModelData.lsm file.</li>
<li>Fix - Vanna Bardot had duplicate images</li>
<li>Fix - Did not properly calculate when models won the monthly competition so could not complete the game in this mode.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 4</legend>
<b>Date:</b> 1 January 2022
<ul>
<li>Change - New model progression heavily modified.</li>
<li>Change - Card type bonus %'s heavily modified and now vary between shoot types.</li>
<li>NEW - 3 new girls added (Kenna James, Maya Kendrick, Zsanett Tormay).</li>
<li>Fix - Card stats not displaying correctly in studio screen.</li>
<li>Fix - Competition screen display issue fixed.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 3</legend>
<b>Date:</b> 31 December 2021
<ul>
<li>NEW - New card system implemented, has not been fleshed out yet but enough to retain all the fetures of previous build.</li>
<li>NEW - 5 new girls added (Jassie James, Naomi Swann, Sophia Elfya, Vanna Bardot, Lily Chey).</li>
<li>New - Added screen sorting options to competition screen.</li>
<li>Change - Changed the trigger mechanism for new models.</li>
<li>Change - Seperated the sort order to it's own icon on main screen.</li>
<li>Fix - Fixed up Nancy Ace's photos.</li>
<li>Fix - Cards collected screen no-longer shows empty cards if model is still not willing to do the shoot due to lack of contracts.</li>
<li>Fix - Other minor bugfixes</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 2</legend>
<b>Date:</b> 27 December 2021
<ul>
<li>New - Players learn preferences of businessess owners when out on contracts at their business (player notified at end of contract and info shows up in office screen).</li>
<li>New - Added different display formats for main studio screen.</li>
<li>Change - Bugfixes.</li>
</ul>
</fieldset>
<fieldset class="charc"><legend>Build 1</legend>
<b>Date:</b> 25 December 2021
<ul>
<li>NEW - Initial build release.</li>
</ul>
</fieldset>* Descriptions in red mean the feature is not yet implemented.<br>
<table class="table-models" width=100%>
<thead><th>Name</th><th>Icon</th><th>Description</th></thead>
<tbody>
<tr><td><b>Poise</b></td><td><pink><i class='fsicon'> </i></pink></td><td><r>The models ability to set themselves up for a shot and transition to the next. Increases the value of the models shoots.</r></td></tr>
<tr><td><b>Confidence</b></td><td><pink><i class='fsicon'> </i></pink></td><td>How confident the model is in themselves and their appearance. The higher the confidence the more willing they will be to do more daring shots.</td></tr>
<tr><td><b>Popularity</b></td><td><pink><i class='fsicon'> </i></pink></td><td>How popular the model is with the general public. Improves competition outcomes <r>and affects the value of the photo shoots.</r></td></tr>
<tr><td><b>Relationship</b></td><td><pink><i class='fsicon'> </i></pink></td><td>A relationship value of 6 is needed to concubine a model.</td></tr>
<tr><td><b>Contracts</b></td><td><bl><i class='fsicon'> </i></bl></td><td>Models are after work which they get through contracts. A contract is offered each week and will carry a requirement. You can assign a model to that contract if they meet the requirement. Models need to have completed a particular number of contracts before they will do more risky shoots.</td></tr>
<tr><td><b>Competitions</b></td><td><gold><i class='fsicon'> </i></gold></td><td>Competitions occur every 8 weeks where you can enter 3 models to participate. Three judges will judge the models and score them based on their preferences. A models popularity will also increase the models overall score slightly. You will need to enter models that fit the judges preferences if you want the model to win. Currently no prizes are offered but winning is needed to complete certain deceptions.</td></tr>
<tr><td><b>Pressure</b></td><td><r><i class='fsicon'> </i></r></td><td>A player stat that represents the amount of pressure the player is under. A higher pressure will lead to more rushed and thus less profitable photoshoots.</td></tr>
<tr><td><b>Reputation</b></td><td><gold><i class='fsicon'> </i></gold></td><td>The players reputation will impact how many models will want to work with you.</td></tr>
<tr><td><b>Auditions</b></td><td><bl><i class='fsicon'> </i></bl></td><td>Auditions will allow you to acquire a model but you will have the option to pick 1 of 3.</td></tr>
<tr><td><b>Message</b></td><td><bl><i class='fsicon'> </i></bl></td><td>If you answer a message you will take on a extra model. This model is chosen at random.</td></tr>
<tr><td><b>Studio</b></td><td><bl><i class='fsicon'> </i></bl></td><td>Icon will appear for stuio event notifications.</td></tr>
<tr><td><b></b></td><td></td><td></td></tr>
</tbody>
</table>
<<button "Back to Studio">><<goto `previous()`>><</button>><br><fieldset>
<legend>Deception Completion:</legend>
<div class="nodivgap" style="position: relative; height: 70px;"><div class="image-stack_item" style="-webkit-filter: opacity(20%); filter: opacity(20%)"><<ImageDeceptionAchievement 'other' 'deception'>></div>
<div class="image-stack-item" >
<<if recall('money')>><<ImageDeceptionAchievement 'other' 'money'>><</if>>
<<if recall('fame')>><<ImageDeceptionAchievement 'other' 'fame'>><</if>>
<<if recall('women')>><<ImageDeceptionAchievement 'other' 'women'>><</if>>
<<if recall('nemesis')>><<ImageDeceptionAchievement 'other' 'nemesis'>><</if>></div></div><br>
</fieldset>
<fieldset>
<legend>Completed Model Sets:</legend>
Models for which you have completed their set will appear here (accross all playthroughs). Deleting your browser data will wipe this information.<br>
<<button "Back">><<goto `previous()`>><</button>><br>
<<set $AchievementBio = []>>
<<if $Bio neq undefined>>
<<for $x=0;$x<Object.keys($Bio).length;$x++>>
<<set $AchievementBio.push(Object.keys($Bio)[$x])>>
<</for>>
<</if>>
<br>
<<set _AchievementModels = []>>
<<if $AchievementBio neq undefined>>
<<for _i to 0; _i < $AchievementBio.length; _i++>>
<<print "<<set _testAchievement = recall('" + $AchievementBio[_i] + "')>>">>
<<if _testAchievement>>
<div class="nodivgap smlimg"><<print "<<link [img[" + $ImgDir + $AchievementBio[_i] + "/portrait.webp" + "]] >><<replace '#achievement_girl'>><<AchivementShow " + $AchievementBio[_i] + ">><</replace>><</link>>">></div>
<<print "<<set _AchievementModels.push('" + $AchievementBio[_i] + "')>>">>
<<else>>
<div class="nodivgap" style="position: relative; -webkit-filter: contrast(10%) grayscale(100%) brightness(50%) blur(2px); filter: grayscale(100%) contrast(10%) brightness(50%) blur(2px)">
<<print "<<ImageAvatar $AchievementBio[_i] 'portrait'>>">>
</div>
<</if>>
<</for>>
<</if>>
</fieldset>
<span id="achievement_girl">
<<if _AchievementModels.length > 4>>
<<set _k = 24>>
<<if _AchievementModels.length > 19>><<set _k = 73>><</if>>
<div class="image-grid">
<<set _j = 1>>
<<for _i to 0; _i < _k; _i++>>
<<set _id to random(0,(_AchievementModels.length-1)) >>
<<set _prop = $ImgDir + _AchievementModels[_id] + "/" + "0" + random(1,4) + "0" + random(1,8) + ".webp">>
<<if _j == 4 or _j == 17>>
<<print "<img class='image-grid-row2 image-grid-col2' src='" + _prop + "'>">>
<<elseif _j == 5 or _j == 13 or _j == 19>>
<<print "<img class='image-grid-row2' src='" + _prop + "'>">>
<<elseif _j == 2 or _j == 20>>
<<print "<img class='image-grid-row3 image-grid-col2' src='" + _prop + "'>">>
<<else>>
<<print "[img[" + _prop + "]]">>
<<if _j == 32>><<set _j = 1>><</if>>
<</if>>
<<set _j++>>
<</for>>
</div>
<</if>>
</span>Want to give the game your own touch? A number of parts of this game can be fairly easily modified.
<fieldset>
<legend>StabilityData.lsm</legend>
This file is used for random events that occur when the models stability becomes unstable.<br>
Use the following format for adding your own custom events to StabilityData.lsm.<br>
<fieldset>
<code>"<pink><event name></pink>" : }</code><br>
<code> description : "<pink><event description></pink>",</code><br>
<code> evade : [{variable: "<pink><variable to effect></pink>", type: "<pink><type of effect></pink>", value:<pink><effect amount></pink>}, {variable: "<pink><variable to effect></pink>", type: "<pink><type of effect></pink>", value:<pink><effect amount></pink>}],</code><br>
<code> confront : ...,</code><br>
<code> support : ...,</code><br>
<code> evadetext : "<pink><outcome></pink>",</code><br>
<code> confronttext : ...,</code><br>
<code> supporttext : ...,</code><br>
<code> image: "<pink><event image></pink>"</code><br>
<code>}<pink>,</pink></code><br>
</fieldset>
<pink><event name></pink> - The name you want to give the event.<br>
<pink><event description></pink> - The main description of the event that the player will then make their decision from.<br>
<pink><variable to effect></pink> - Variable name to modify. Choose from: money, relationship, availability, extraversion, reputation, drugs, depression, morbidity, or alcohol<br>
<pink><type of effect></pink> - For most values this is increase or decrease to raise or lower the value. For availability this will be a basic description of why the model is unavailable. For money this may also be a minimum number where the game will grab a random value between this number and the effect amount. <br>
<pink><effect amount></pink> - Always a positive number.<br>
<pink><outcome></pink> - Description for when the player chooses this option.<br>
<pink><event image></pink> - Image to be displayed along with the event.<br>
<pink>,</pink> - A comma needs to separate each event, do not place for the last event.<br>
<br>
Confront and support use the same format as evade.<br>
Use <pink>_GirlA</pink> to write the model’s name. _GirlB can also be used, where the game will pick another random model that the player knows. relationshipB is the only variable you can adjust for the second random model.<br>
</fieldset>
<<button "Back">><<goto `previous()`>><</button>><br>
<fieldset>
<legend>ModelData.lsm</legend>
This file has model data of all the models in the game.
Use the following format when adding your own models to the game.
<fieldset>
<code>"<pink><uniqueID></pink>" : {</code><br>
<code> name : "<pink><first name></pink>",</code><br>
<code> namefull : "<pink><full name></pink>",</code><br>
<code> age : "<pink><age></pink>",</code><br>
<code> nationality : "<pink><nationality></pink>",</code><br>
<code> hair : ["<pink><hair length></pink>", "<pink><hair colour></pink>"],</code><br>
<code> eyes : "<pink><eye colour></pink>",</code><br>
<code> height : "<pink><model height></pink>",</code><br>
<code> weight : "<pink><model weight></pink>",</code><br>
<code> bust : "<pink><bust></pink>",</code><br>
<code> waist : "<pink><waist></pink>",</code><br>
<code> hips : "<pink><hips></pink>",</code><br>
<code> cup : "<pink><cup size></pink>",</code><br>
<code> tattoos : "<pink><tattoos></pink>"</code><br>
<code>}<pink>,</pink></code><br>
</fieldset>
<pink><uniqueID></pink> - This is also the folder name where you store the photos for the model. Important: do not use spaces and avoid special characters.<br>
<pink><full name></pink> - I have names as long as 21 characters but UI best fits under ~16. I use more natural sounding full names where applicable.<br>
<pink><age></pink> - Generally the model ages are their real age as of 2019 as long as it is above 18. More recent young models will use their current age.<br>
<pink><hair length></pink> - Use: "short", "medium length", "long", "extra long".<br>
<pink><hair colour></pink> - Use: "blonde", "black", "red", "brown".<br>
<pink><eye colour></pink> - Use: "hazel", "grey", "green", "brown", "blue"<br>
<pink><tattoos></pink> - Use: "None" or "Yes"<br>
<pink>,</pink> - A comma needs to separate each model, do not place for the last model.<br>
<br>
Measurements are done in cm's.<br>
If you use other descriptors than the ones above, the game should still work however the model may have difficulty getting contracts.<br>
</fieldset>
<<button "Back">><<goto `previous()`>><</button>><br>
<fieldset>
<legend>RelationshipData.lsm</legend>
This file has events for various models in the game dependant on your relationship level. To enable this file you will need to rename the file and remove the _ in the filename.<br>
<br>
The file has two sections "Event1" and "Event2" are generic events that will apply to any model that does not have an event associated with it.<br>
"RelationshipEvents" are events that are model specific events.
Use the following format when adding your own scenes.
<fieldset>
<code>"<pink><ModelName></pink>" : {</code><br>
<code> relationship : <pink><Relationship Value></pink>,</code><br>
<code> flag : [],</code><br>
<code> pgender : "<pink><Player gender></pink>",</code><br>
<code> eventcontent : [</code><br>
<code> ["<pink><Content Type></pink>", "<pink><ContentText></pink>"],</code><br>
<code> ["player", "<pink><Text></pink>"],</code><br>
<code> ["image", "<pink><Image></pink>"]</code><br>
<code>}<pink>,</pink></code><br>
</fieldset>
<pink><ModelName></pink> - This will ever have the UniqueID name of the model or Event1/Event2 depending which section you are in. $ModelSelected is the current model.<br>
<pink><Relationship Value></pink> - The relationship level of the model. As of writing this, 5 = Close Friend, 6 = Romantic Interest 7 = Smitten.<br>
<pink><Flag></pink> - Currently unused.<br>
<pink><Content Type></pink> - Can be either "<ModelName>", "player" or "image".<br>
<pink><Content Text></pink> - If the model or player is talking, this will contain their text. If it is an image then this will contain the path and file from the image directory.<br>
<pink>,</pink> - A comma needs to separate each scene, do not place for the last scene.<br>
<br>
The game will look through the second section first to see if the model has a unique event. If it doesn't catch anything it will then use the generic event. I believe the flag field was going to be used to store multiple model names so that you could have a scene apply to any blonde haired, or dark skinned models. However this was not implemented.<br>
</fieldset>
<<button "Back">><<goto `previous()`>><</button>><br>/% Still to be properly implemented.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<fieldset>
<legend>Competition:</legend>
<<if $CompetitionStage == 0>>
A new contest has been organised by the local businesses.
<br>If you would like to compete, you will need to submit 3 models into the competition.<br><br>
<<set $CompetitionJudges = []>>
<<set _JudgeSelected = $JudgesAvailable.randomMany(3)>>
The judges for the competition have been announced and they will be _JudgeSelected[0], _JudgeSelected[1] and _JudgeSelected[2].<br>
Each of these judges have their own particular tastes that will likely heavily influence the scores, you might be able to learn a bit more about the judges through the contracts you and your models sign with their associated businesses.<br>
Entries will open next week!<br>
<br>
<<set $CompetitionJudges.push(_JudgeSelected[0])>>
<<set $CompetitionJudges.push(_JudgeSelected[1])>>
<<set $CompetitionJudges.push(_JudgeSelected[2])>>
/*<<set $CompetitionStage =+ 1 >>*/
<<elseif $CompetitionStage == 1>>
<<CompetitionModelCount>>
<<if _CompModelCount < 3>>
It is time to submit your models into the competition however you do not manage enough models to enter, perhaps next time.<br><br>
<<set $CompetitionModels = []>>
<<set $CompetitionModelsA = []>>
/%Place Antagonist Models into array for comp %/
<<for _j to 0; _j lt $AntagonistModels.length; _j++>>
<<set $CompetitionModelsA.push({ name : $AntagonistModels[_j], company : $Antagonist.company, score : 0})>>
<</for>>
/% Calculate antagonist scores and find top 3 %/
<<CompetitionScore $CompetitionModelsA >>
<<set $CompetitionModelsA.sort(function (a, b) { return b.score - a.score; })>>
<<for _i to 0; _i < 3; _i++>>
<<set $CompetitionModels.push($CompetitionModelsA[_i])>>
<</for>>
<<for _i to 0; _i < $Bios.length; _i++>>
<<set $CompetitionModels.push({ name : $Bios[_i], company : "Non-important Studios", score : 0})>>
<</for>>
<<CompetitionScore $CompetitionModels>>
<<set $CompetitionModels.sort(function (a, b) { return b.score - a.score; })>>
<<else>>
If you would like your models to be able to compete in the modelling competition please select them now.<br>
Please keep in mind the judges for this round will be $CompetitionJudges[0], $CompetitionJudges[1] and $CompetitionJudges[2]<br>
<fieldset>Sort: <<listbox "$ModelSort" autoselect>><<optionsfrom $ModelSortOptions>><</listbox>> <span class="icon"><<button "<<Image icon-sort.png>>">><<if $DisplaySort == "A-Z">><<set $DisplaySort = "Z-A">><<else>><<set $DisplaySort = "A-Z">><</if>><<goto "Competition">><</button>></span></fieldset>
<span id="model-info"><<ModelSort>><<CompetitionDisplay>></span>
<<script>>
$(document).one(":passagerender", function (event) {
$(event.content).find("#model-info").empty().wiki("<<ModelSort>><<CompetitionDisplay>>");
$(event.content).find("#listbox-modelsort").on("change", function (event) {
$("#model-info").fadeOut(500);
setTimeout(function () {
$("#model-info").empty().wiki("<<ModelSort>><<CompetitionDisplay>>").fadeIn(500);
}, 500);
});
});
<</script>>
<</if>>
<<elseif $CompetitionStage == 2>>
The winning models from the competition last week have been announced:<br>
<table class="table-models">
<thead>
<tr>
<th width="30px"></th>
<th width="2px"></th>
<th width="100px"></th>
<th><b>Name</b></th>
<th>Company</th>
<th width="100px">Score</th>
</tr>
</thead><tbody>
<<for _j to 0; _j lt $CompetitionModels.length; _j++>>
<<set _ModelInfo = $Bio[$CompetitionModels[_j].name]>>
<<if $CompetitionModels[_j].company == $Player.studioname>>
<tr>
<td align="center"><b><<print (_j+1)>></b></td>
<td></td>
<td><div class='table-avatar'><div class='avatar'><<ImageTable $CompetitionModels[_j].name "portrait">></div></div></td>
<td><hilight><b>_ModelInfo.namefull</b></hilight></td>
<td><hilight>$CompetitionModels[_j].company</hilight></td>
<td align="center"><hilight>$CompetitionModels[_j].score</hilight></td>
</tr>
/* Set winning model info */
<<if _j == 0 >><<set _ModelInfo.competition = true>><<set _ModelInfo.popularity += 10>><<set $ReputationScore += 30>><<CompetitionContract $CompetitionModels[_j].name>><</if>>
<<else>>
/% Only show the top 10 if they are not the player models %/
<<if _j < 10>>
<tr>
<td align="center"><b><<print (_j+1)>></b></td>
<td colspan="2"><div class='table-avatar'><div class='avatar'><<ImageTable $CompetitionModels[_j].name "portrait">></div></div></td>
<td><b>_ModelInfo.namefull</b></td>
<td>$CompetitionModels[_j].company</td>
<td align="center">$CompetitionModels[_j].score</td>
</tr>
<</if>>
<</if>>
<</for>>
</tbody></table>
<<if $CompetitionModels[0].company == $Player.studioname>>
<<set _ModelInfo = $Bio[$CompetitionModels[0].name]>>
_ModelInfo.namefull has won earning an exclusive 5 week national contract for which you will recieve a cut, she has also increased in popularity due to this national coverage!<br>
<</if>>
<<set $CompetitionStage = (0 - $CompetitionSpacing)>>
<</if>>
<<button "Back to Studio">>
<<set $CompetitionModels = []>>
<<set $CompetitionModelsA = []>>
<<set $ModelsSelectedCount = 0>>
/%Place Antagonist Models into array for comp %/
<<for _j to 0; _j lt $AntagonistModels.length; _j++>>
<<set $CompetitionModelsA.push({ name : $AntagonistModels[_j], company : $Antagonist.company, score : 0})>>
<</for>>
/% Calculate antagonist scores and find top 3 %/
<<CompetitionScore $CompetitionModelsA >>
<<set $CompetitionModelsA.sort(function (a, b) { return b.score - a.score; })>>
<<for _i to 0; _i < 3; _i++>>
<<set $CompetitionModels.push($CompetitionModelsA[_i])>>
<</for>>
<<for _i to 0; _i < $Bios.length; _i++>>
<<set $CompetitionModels.push({ name : $Bios[_i], company : "Non-important Studios", score : 0})>>
<</for>>
<<CompetitionScore $CompetitionModels>>
<<set $CompetitionModels.sort(function (a, b) { return b.score - a.score; })>>
<<set $CompetitionStage += 1 >><<goto "Studio">><</button>>
</fieldset><<widget CompetitionDisplay>>
<table class="table-models" width=100%>
<thead>
<tr>
<th width="100px"></th>
<th><b>Name</b></th>
<th><a class="tooltip"><span>The models age</span>Age</a></th>
<th><a class="tooltip"><span>The models height in cm</span>Height</a></th>
<th><a class="tooltip"><span>The models weight in kg's</span>Weight</a></th>
<th><a class="tooltip"><span>You would think the models hair colour<br>Well you would be correct</span>Hair Colour</a></th>
<th><a class="tooltip"><span>The models hair length</span>Hair Length</a></th>
<th><a class="tooltip"><span>The models eye colour</span>Eye Colour</a></th>
<th><a class="tooltip"><span>Bust(cup size) x Waist x hips</span>Measurements</a></th>
</tr>
</thead><tbody>
<<ModelsActive>>
<<for _j to 0; _j lt $ModelsActive.length; _j++>>
<<set _ModelInfo = $Bio[$ModelsActive[_j]]>>
<<if _ModelInfo.competition == false>>
<tr>
<td><div class='table-avatar'><div class='avatar'><<ImageTable $ModelsActive[_j] "portrait">></div></div></td>
<td><label><<print "<input type='checkbox' id='" + $ModelsActive[_j] + "' value=$Models[_j] class='chkGroup'>">> <b>_ModelInfo.namefull</b></label></td>
<td>_ModelInfo.age</td>
<td>_ModelInfo.height</td>
<td>_ModelInfo.weight</td>
<td>_ModelInfo.hair[1]</td>
<td>_ModelInfo.hair[0]</td>
<td>_ModelInfo.eyes</td>
<td>_ModelInfo.bust(_ModelInfo.cup) x _ModelInfo.waist x _ModelInfo.hips</td>
</tr>
<</if>>
<</for>>
</tbody></table>
<<script>>
$(document).one(':passagerender', function (ev) {
function selectiveCheck (event) {
var i, checkedChecks = document.querySelectorAll(".chkGroup:checked");
$("#result").empty();
for (i = 0; i < checkedChecks.length; i++) {
if (checkedChecks.length < max + 1) {
$("#result").wiki($(checkedChecks[i]).attr("value") + " ");
} else if (event.target != checkedChecks[i]) {
$("#result").wiki($(checkedChecks[i]).attr("value") + " ");
}
}
if (checkedChecks.length >= max + 1)
return false;
}
var checks = $(ev.content).find(".chkGroup");
var max = 3;
for (var i = 0; i < checks.length; i++) {
checks[i].onclick = selectiveCheck;
}
});
<</script>>
<br>
<span id="prompt">Select 3 models</span>
<br>
<<button "Enter Competition">>
<<set $CompetitionModels = []>>
<<set $CompetitionModelsA = []>>
<<set $ModelsSelectedCount = 0>>
<<for _j to 0; _j lt $ModelsActive.length; _j++>>
<<if $Bio[$ModelsActive[_j]].competition == false>><<print "<<if $(" + $ModelsActive[_j] + ").prop('checked')>><<set $ModelsSelectedCount += 1>><<set $CompetitionModels.push({ name : $ModelsActive[_j], company : $Player.studioname, score : 0})>><</if>>">><</if>>
<</for>>
<<if $ModelsSelectedCount == 3>>
/%Place Antagonist Models into array for comp %/
<<for _j to 0; _j lt $AntagonistModels.length; _j++>>
<<set $CompetitionModelsA.push({ name : $AntagonistModels[_j], company : $Antagonist.company, score : 0})>>
<</for>>
/% Calculate antagonist scores and find top 3 %/
<<CompetitionScore $CompetitionModelsA >>
<<set $CompetitionModelsA.sort(function (a, b) { return b.score - a.score; })>>
<<for _i to 0; _i < 3; _i++>>
<<set $CompetitionModels.push($CompetitionModelsA[_i])>>
<</for>>
<<for _i to 0; _i < $Bios.length; _i++>>
<<set $CompetitionModels.push({ name : $Bios[_i], company : "Non-important Studios", score : 0})>>
<</for>>
<<CompetitionScore $CompetitionModels>>
<<set $CompetitionModels.sort(function (a, b) { return b.score - a.score; })>>
<<set $CompetitionStage += 1 >>
<<goto "Studio">>
<<else>>
<<replace "#prompt">>To enter the competition you need to select 3 models. You have $ModelsSelectedCount selected.<</replace>>
<</if>>
<</button>>
<</widget>>
<<widget CompetitionScore>>
<<set _id = $args[0] >>
<<for _h to 0; _h < _id.length; _h++>>
<<set _id[_h].score = 0>>
<<for _i to 0; _i < $CompetitionJudges.length; _i++>>
<<for _j to 1; _j < 4; _j++>>
<<print "<<set _tempNeed = $Bio[_id[_h].name]." + $Judges[$CompetitionJudges[_i]].preferences[_j].type + ">>">>
<<if $Judges[$CompetitionJudges[_i]].preferences[_j].range == "" and _tempNeed == $Judges[$CompetitionJudges[_i]].preferences[_j].criteria>>
<<set _id[_h].score += 7>>
<<elseif $Judges[$CompetitionJudges[_i]].preferences[_j].range == "<=" and _tempNeed <= $Judges[$CompetitionJudges[_i]].preferences[_j].criteria>>
<<set _id[_h].score += 7>>
<<elseif $Judges[$CompetitionJudges[_i]].preferences[_j].range == ">=" and _tempNeed >= $Judges[$CompetitionJudges[_i]].preferences[_j].criteria>>
<<set _id[_h].score += 7>>
<</if>>
<</for>>
<</for>>
<<if _id[_h].company == $Antagonist.company>>
<<set _id[_h].score += random(12,20)>>
<<elseif _id[_h].company == $Player.studioname>>
<<set _id[_h].score += ($Bio[_id[_h].name].popularity * 3)>>
<<else>>
<<set _id[_h].score += random(10,18)>>
<</if>>
<</for>>
<</widget>>
<<widget ModelsActive>>
<<set $ModelsActive = []>>
<<for _j to 0; _j lt $Models.length; _j++>>
<<if $Bio[$Models[_j]].availability["weeks"] == 0>>
<<set $ModelsActive.push($Models[_j])>>
<</if>>
<</for>>
<</widget>>
<<widget CompetitionContract>>
<<set _contractIncome = _ModelInfo.poise * 100>>
<<set $Contracts.push({
name : "Competition Winner",
type : "competition",
medium : "national",
duration : 5,
income : _contractIncome,
need : "",
model : $args[0]
})>>
<</widget>>
<<widget CompetitionModelCount>>
<<set _CompModelCount = 0>>
<<for _j to 0; _j lt $Models.length; _j++>>
<<set _ModelInfo = $Bio[$Models[_j]]>>
<<if _ModelInfo.competition == false>>
<<set _CompModelCount += 1>>
<</if>>
<</for>>
<</widget>>/% Offer contracts to player once a week.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<set _TempContractType = $ContractType.random()>>
<<set _TempContractDuration = random($ContractDetails[_TempContractType].durationmin, $ContractDetails[_TempContractType].durationmax)>>
<<set _TempContractIncome = random($ContractDetails[_TempContractType].incomemin, $ContractDetails[_TempContractType].incomemax)>>
<<set $TempContractNeedItem = []>>
<<set $TempContractNeedItem.push({
type : $ContractNeeds.random(),
criteria : "",
desc : "",
range : ""
})>>
<<if _TempContractType != "basic">>
<<if $TempContractNeedItem[0].type == "hair[1]">>
<<set $TempContractNeedItem[0].criteria = $ContractHColour.random()>>
<<set $TempContractNeedItem[0].desc = $TempContractNeedItem[0].criteria + " hair">>
<<elseif $TempContractNeedItem[0].type == "hair[0]">>
<<set $TempContractNeedItem[0].criteria = $ContractHLength.random()>>
<<set $TempContractNeedItem[0].desc = $TempContractNeedItem[0].criteria + " hair">>
<<elseif $TempContractNeedItem[0].type == "eyes">>
<<set $TempContractNeedItem[0].criteria = $ContractEColour.random()>>
<<set $TempContractNeedItem[0].desc = $TempContractNeedItem[0].criteria + " eyes">>
<<elseif $TempContractNeedItem[0].type == "age">>
<<if random(0,1)>>
<<set $TempContractNeedItem[0].criteria = 22>>
<<set $TempContractNeedItem[0].range = "<=">>
<<set $TempContractNeedItem[0].desc = "an age of 22 years or less">>
<<else>>
<<set $TempContractNeedItem[0].criteria = 30>>
<<set $TempContractNeedItem[0].range = ">=">>
<<set $TempContractNeedItem[0].desc = "an age of 30 years or older">>
<</if>>
<<elseif $TempContractNeedItem[0].type == "Personality">>
<<set $TempContractNeedItem[0].criteria = 3>>
<<set $TempContractNeedItem[0].type = $ContractPersonality.random()>>
<<if $TempContractNeedItem[0].type == "extra">> <<set _TempPersonality = "extraverted">><<elseif $TempContractNeedItem[0].type == "agree">><<set _TempPersonality = "adaptive">><<else>><<set _TempPersonality = "open">><</if>>
<<set $TempContractNeedItem[0].desc = "an " + _TempPersonality + " personality type">>
<<set $TempContractNeedItem[0].type = $TempContractNeedItem[0].type + "[0]">>
<<elseif $TempContractNeedItem[0].type == "cup">>
<<set $TempContractNeedItem[0].criteria = $ContractCupSize.random()>>
<<set $TempContractNeedItem[0].desc = $TempContractNeedItem[0].criteria + " cup breasts">>
<<elseif $TempContractNeedItem[0].type == "height">>
<<if random(0,1)>>
<<set $TempContractNeedItem[0].criteria = 160>>
<<set $TempContractNeedItem[0].range = "<=">>
<<set $TempContractNeedItem[0].desc = "a height of 160cm or shorter">>
<<else>>
<<set $TempContractNeedItem[0].criteria = 170>>
<<set $TempContractNeedItem[0].range = ">=">>
<<set $TempContractNeedItem[0].desc = "a height of 170cm or taller">>
<</if>>
<<elseif $TempContractNeedItem[0].type == "waist">>
<<if random(0,1)>>
<<set $TempContractNeedItem[0].criteria = 58>>
<<set $TempContractNeedItem[0].range = "<=">>
<<set $TempContractNeedItem[0].desc = "a waist size of 58cm or smaller">>
<<else>>
<<set $TempContractNeedItem[0].criteria = 64>>
<<set $TempContractNeedItem[0].range = ">=">>
<<set $TempContractNeedItem[0].desc = "a waist size of 64cm or larger">>
<</if>>
<<elseif $TempContractNeedItem[0].type == "tattoos">>
<<set $TempContractNeedItem[0].criteria = "None">>
<<set $TempContractNeedItem[0].desc = "no tattoos">>
<</if>>
<</if>>
<<set $Contracts.push({
name : $ContractDetails[_TempContractType].name.random(),
type : _TempContractType,
medium : $ContractDetails[_TempContractType].medium.random(),
duration : _TempContractDuration,
income : _TempContractIncome,
need : $TempContractNeedItem[0],
model : ""
})>>
<<set _TempContNo = ($Contracts.length -1)>>
<fieldset>
<legend>$Contracts[_TempContNo].name</legend>
<<set _tempImageLogo = "companies/" + $Contracts[_TempContNo].name + ".webp", _tempImageLogo = _tempImageLogo.replaceAll(" ","")>>
<div class="smlimg"><<Image _tempImageLogo>></div>
$Contracts[_TempContNo].name is looking for a model to take part in a $Contracts[_TempContNo].type $Contracts[_TempContNo].medium shoot to be run over a $Contracts[_TempContNo].duration week period.<br>
As the agent your cut from this will be <g><i class='fsicon'> </i></g> $Contracts[_TempContNo].income<<if _TempContractDuration > 1>> each week<</if>>.<br>
<<if _TempContractType != "basic">>$Contracts[_TempContNo].name is needing the model to have $Contracts[_TempContNo].need.desc.<</if>><br><br>
</fieldset>
<fieldset>
Models that fit this contract are:<br> /% Change Bios to Models %/
<<if $Models neq undefined>>
<<for _i to 0; _i < $Models.length; _i++>>
<<set _id = $Models[_i]>>
<<capture _id>>
<<set _ModelContracted = false>>
<<for _j to 0; _j < $Contracts.length; _j++>>
<<if $Contracts[_j].model == _id and $Contracts[_j].type != "competition">><<set _ModelContracted = true>><<set _j = $Contracts.length>><</if>>
<</for>>
<<if $Bio[_id].availability["weeks"] == 0>>
<<if _ModelContracted>>
<<print "[ ] <grey>$Bio[_id].namefull</grey> is currently working another contract.">><br>
<<elseif $Contracts[_TempContNo].type == "adult" and $Bio[_id].confidence < 16 >>
<<print "[ ] <r>$Bio[_id].namefull</r> isn't comfortable with doing this type of contract.">><br>
<<elseif $Contracts[_TempContNo].type == "basic" >>
[<hilight>X</hilight>] $Bio[_id].namefull <<button "Sign">><<set $Contracts[_TempContNo].model = _id>><<goto "Studio">><</button>><br>
<<else>>
<<print "<<set _tempNeed = $Bio[_id]." + $TempContractNeedItem[0].type + ">>">>
<<if $TempContractNeedItem[0].range == "" and _tempNeed == $TempContractNeedItem[0].criteria>>
[<hilight>X</hilight>] $Bio[_id].namefull <<button "Sign">><<set $Contracts[_TempContNo].model = _id>><<goto "Studio">><</button>><br>
<<elseif $TempContractNeedItem[0].range == "<=" and _tempNeed <= $TempContractNeedItem[0].criteria>>
[<hilight>X</hilight>] $Bio[_id].namefull <<button "Sign">><<set $Contracts[_TempContNo].model = _id>><<goto "Studio">><</button>><br>
<<elseif $TempContractNeedItem[0].range == ">=" and _tempNeed >= $TempContractNeedItem[0].criteria>>
[<hilight>X</hilight>] $Bio[_id].namefull <<button "Sign">><<set $Contracts[_TempContNo].model = _id>><<goto "Studio">><</button>><br>
<<else>>
<<print "[ ] <r>$Bio[_id].namefull</r> does not meet the criteria.">><br>
<</if>>
<</if>>
<</if>>
<</capture>>
<</for>>
<</if>>
</fieldset>
<<set $ContractAvailable = false>>
<<button "Return to studio">><<goto "Studio">><</button>><<AddCustomData>>
<<if $ModDescription != "">>
<<set $DataFiles[$LastFile].title = $ModDescription>>
<</if>>
<<if Object.keys($ModelBios).length > 0>>
<<set $DataFiles[$LastFile].models = Object.keys($ModelBios).length>>
<</if>>
<<if Object.keys($StabilityData).length > 0>>
<<set $DataFiles[$LastFile].stability = Object.keys($StabilityData).length>>
<</if>>
<<if Object.keys($RelationshipData).length > 0 or Object.keys($RelationshipDefaultData).length>>
<<set $DataFiles[$LastFile].relationship = Object.keys($RelationshipData).length + Object.keys($RelationshipDefaultData).length>>
<</if>>
<fieldset>
This game supports the ability for you to be able to customise your own game by adding more models, custom relationship and model stability events.<br>Added mods can be loaded from the table below<br><br>
<table class="table-mods" width=60%>
<thead><tr><th>FileName</th><th>Models</th><th>Relationship</th><th>Stability</th><th><lgs><<link "Reset">><<ResetDataFiles>><<script>>Engine.play("DataFile");<</script>><</link>></lgs></th></tr></thead>
<tbody>
<<for _i=0; _i < Object.keys($DataFiles).length; _i++>>
<<set _temp = Object.keys($DataFiles)[_i]>>
<<capture _temp>>
<tr>
<td><<if $DataFiles[_temp].title != "">><a class="tooltip"><span>$DataFiles[_temp].title</span>_temp</a><<else>>_temp<</if>></td>
<td>$DataFiles[_temp].models</td>
<td>$DataFiles[_temp].relationship</td>
<td>$DataFiles[_temp].stability</td>
<td>
<<if $DataFiles[_temp].active == false>>
<<button "Load">>
<<set $LastFile = _temp>>
<<LoadCustomData $LastFile>><<AddEmpty $LastFile>>
<<set $DataFiles[_temp].active = true>>
<</button>>
<</if>>
</td></tr>
<</capture>>
<</for>>
<tr><td><b>Loaded:</b></td><td><b><<print Object.keys($Bio).length>></b></td><td><a class="tooltip"><span>Relationship Events are loaded in as required.</span>N/A</a></td><td><<print Object.keys($StabilityEvents).length>></td><td></td></tr>
</tbody>
</table>
To add another .lsm mod file enter the <a class="tooltip"><span>Filename for added mods will be located in data folder.<br><r>Warning: Does not error-check</r></span>filename</a> here:<br>
<<textbox '$DataFileAdd' $DataFileAdd >>.lsm @@#error;@@
<<button "Add Mod">>
<<script>>Engine.play("DataFile");<</script>>
<<set $LastFile = $DataFileAdd>>
<<LoadCustomData $DataFileAdd>>
<<print"<<run jQuery.extend($DataFiles, {'" + $DataFileAdd + "': {
'aactive': true,
'title': '" + $DataFileAdd +"',
'models': '-',
'relationship': '-',
'stability': '-'
}})>>">>
<<set $DataFileAdd = "">>
<</button>>
<br><br>
<<button "Let's begin">><<run memorize("DataFiles", $DataFiles)>><<script>>Engine.play("Intro");<</script>>
<</button>>
</fieldset>
<<DebugCheck>>
<fieldset class="developer">
<legend>Developer note:</legend>
Text or icons <a class="tooltip"><span>This is an example tooltip!</span>this color</a> contain tooltips. Hover your mouse over them to read them.<br>
<br>
<<if $Debug>>
Debug mode is currently: <b>enabled</b>.
<<button "Exit Debug Mode">><<set $DebugPasswordEntered = "">><<script>>Engine.play("DataFile");<</script>><</button>>
<<else>>
Debug mode is currently: <b>disabled</b>.
<br>To enable <a class="tooltip"><span>Debug mode is NOT a "cheat mode". It is intended solely for development purposes.
<br>The game is not designed to be played with debug mode on and you can easily break the game.</span>debug mode</a>, enter the password:
<<textbox "$DebugPasswordEntered" "Enter password." "DataFile">>
<</if>>
</fieldset><<widget LoadCustomData>>
<<set _ModPath = $ModDir + $args[0] + ".lsm">>
<<<<run setup.importLSMData(_ModPath, passage())>>
<<AddCustomData $args[0]>>
<<set $StabilityData = {}, $RelationshipData = {}, $RelationshipDefaultData = {}>>
<</widget>>
<<widget AddCustomData>>
<<if Object.keys($ModelBios).length > 0>>
<<script>>jQuery.extend(State.variables.Bio, State.variables.ModelBios)<</script>>
<</if>>
<<if Object.keys($StabilityData).length > 0>>
<<script>>jQuery.extend(State.variables.StabilityEvents, State.variables.StabilityData)<</script>>
<</if>>
<<if Object.keys($RelationshipDefaultData).length > 0>>
<<script>>jQuery.extend(State.variables.RelationshipDefaultEvents, State.variables.RelationshipDefaultData)<</script>>
<</if>>
<<if Object.keys($RelationshipData).length > 0>>
<<script>>jQuery.extend(State.variables.RelationshipEventStore, State.variables.RelationshipData)<</script>>
<</if>>
<</widget>>
<<widget AddEmpty>>
<<print"<<run jQuery.extend($DataFiles, {'" + $args[0] + "': {
'title': '" + $ModDescription +"',
'models': "-",
'relationship': "-",
'stability': "-"
}})>>">>
<</widget>>
<<widget AddRelationshipEvents>>
<<set _tempCount = 0 >>
<<for _i=0; _i < Object.keys($RelationshipEventStore).length; _i++>>
<<if $RelationshipEvent.includes(Object.keys($RelationshipEventStore)[_i]) >><<else>>
<<if $RelationshipEventStore[Object.keys($RelationshipEventStore)[_i]].flag.split(",").contains($args[0])>>
/%<<print "<<script>>jQuery.extend(State.variables.RelationshipEvents, State.variables.RelationshipEventStore" + Object.keys($RelationshipEventStore)[_i] + ")<</script>>">>%/
<<print "<<set $RelationshipEvents." + Object.keys($RelationshipEventStore)[_i] + " to clone($RelationshipEventStore[Object.keys($RelationshipEventStore)[_i]])>>">>
<<set $RelationshipEvent.push(Object.keys($RelationshipEventStore)[_i])>>
<<set _tempCount += 1>>
<</if>>
<</if>>
<</for>>
<<if _tempCount > 0>> <lgs><<print _tempCount + " relationship events added.">></lgs><br><</if>>
<</widget>>
<<widget ResetDataFiles>>
<<set $DataFiles = {
"ModelsCore": {
"active": true,
"title": "The minimum needed files.",
"models": "-",
"relationship": "-",
"stability": "-"
},
"ModelsExtended": {
"active": false,
"title": "",
"models": "-",
"relationship": "-",
"stability": "-"
},
}>>
<<set $LastFile = "ModelsCore">>
<<LoadCustomData $LastFile>>
<</widget>><<if $EventTrigger[0] == "stability">>
<<StabilityEvent $EventTrigger[1] >>
<<elseif $EventTrigger[0] == "RelationshipEvent">>
<<RelationshipEvent $EventTrigger[1]>>
/% Delete model from eventdata then clean up any ,, %/
<<print "<<set $RelationshipEvents['" + $EventTrigger[1] + "'].flag = $RelationshipEvents['" + $EventTrigger[1] + "'].flag.replaceAll('" + $ModelSelected + "','')>><<set $RelationshipEvents['" + $EventTrigger[1] + "'].flag = $RelationshipEvents['" + $EventTrigger[1] + "'].flag.replaceAll(',,',',')>>">>
/% If no names are left remove the event %/
<<print "<<if $RelationshipEvents['" + $EventTrigger[1] + "'].flag == ',' or $RelationshipEvents['" + $EventTrigger[1] + "'].flag == ''>><<set $RelationshipEvent.delete('" + $EventTrigger[1] + "')>><</if>>">>
<br><<button "Continue...">><<AntagonistStory>><</button>>
<<elseif $EventTrigger[0] == "RelationshipDefaultEvent">>
<<RelationshipDefaultEvent $EventTrigger[1]>>
<<print "<<set $RelationshipDefaultEvents['" + $EventTrigger[1] + "'].flag.push($ModelSelected)>>">>
<br><<button "Continue...">><<AntagonistStory>><</button>>
<</if>><<widget RelationshipDefaultEvent>>
<<set _eventName = $args[0]>>
<<if $RelationshipDefaultEvents[_eventName].author>><<EventAuthor $RelationshipDefaultEvents[_eventName].author>><</if>>
<<for _j=0; _j < $RelationshipDefaultEvents[$args[0]].eventcontent.length; _j++ >>
<<if $RelationshipDefaultEvents[_eventName].eventcontent[_j][0] == "player">>
<<EventPlayer "$RelationshipDefaultEvents[_eventName]" _j>>
<<elseif $RelationshipDefaultEvents[_eventName].eventcontent[_j][0] == "image">>
<<EventImage "$RelationshipDefaultEvents[_eventName]" _j>>
<<elseif $RelationshipDefaultEvents[_eventName].eventcontent[_j][0] == "aside">>
<<EventAside "$RelationshipDefaultEvents[_eventName]" _j>>
<<elseif $RelationshipDefaultEvents[_eventName].eventcontent[_j][0] == "slug">>
<<EventSlug "$RelationshipDefaultEvents[_eventName]" _j>>
<<else>>
<<set _tempName = $RelationshipDefaultEvents[_eventName].eventcontent[_j][0]>>
<female><<print "<<dialogue '$Bio[" + _tempName + "].name' _tempName 'portrait'>>
$RelationshipDefaultEvents[_eventName].eventcontent[_j][1]<</dialogue>>">></female><br>
<</if>>
<</for>>
<</widget>>
<<widget RelationshipEvent>>
<<set _eventName = $args[0]>>
<<if $RelationshipEvents[_eventName].author>><<EventAuthor $RelationshipEvents[_eventName].author>><</if>>
<<for _j=0; _j < $RelationshipEvents[_eventName].eventcontent.length; _j++ >>
<<if $RelationshipEvents[_eventName].eventcontent[_j][0] == "player">>
<<EventPlayer "$RelationshipEvents[_eventName]" _j>>
<<elseif $RelationshipEvents[_eventName].eventcontent[_j][0] == "image">>
<<EventImage "$RelationshipEvents[_eventName]" _j>>
<<elseif $RelationshipEvents[_eventName].eventcontent[_j][0] == "aside">>
<<EventAside "$RelationshipEvents[_eventName]" _j>>
<<elseif $RelationshipEvents[_eventName].eventcontent[_j][0] == "slug">>
<<EventSlug "$RelationshipEvents[_eventName]" _j>>
<<else>>
<<set _tempName = $RelationshipEvents[_eventName].eventcontent[_j][0]>>
<female><<print "<<dialogue '$Bio[" + _tempName + "].name' _tempName 'portrait'>>
$RelationshipEvents[_eventName].eventcontent[_j][1]<</dialogue>>">></female><br>
<</if>>
<</for>>
<</widget>>
<<widget StabilityEvent>>
<<set _GirlA = $Bio[$ModelSelected].name >>
<<if $Models.length > 1>>
<<set _GirlBid = 0>>
<<for _i=0; _i<1; _i++>>
<<set _GirlBid = $Models[random(0, $Models.length-1)]>> <<set _GirlB = $Bio[_GirlBid].name>>
<<if _GirlB == _GirlA>><<set _i-->><</if>>
<</for>>
<</if>>
<span id="event-info">
<fieldset>
<legend>$args[0]</legend>
<p><<set _tempFile = $StabilityEvents[$args[0]].image>><span class="event"><<Image _tempFile>><<print "$StabilityEvents['" + $args[0] + "'].description">></span></p>
How will you handle the situation?<br>
<<set _tempEventName = $StabilityEvents[$args[0]]>>
<span class="event">
<<set _buttonText = "<gold>Evade</gold><br><smaller>" + _tempEventName.evade[0].variable + " " + _tempEventName.evade[0].type + " " + _tempEventName.evade[0].value + "<br>"+ _tempEventName.evade[1].variable + " " + _tempEventName.evade[1].type + " " + _tempEventName.evade[1].value + "</smaller>">>
<<button "_buttonText">><<replace "#event-info">>
<<StabilityOutcomes $args[0] "evade" $ModelSelected>>
<fieldset><legend>You evade the situation</legend><<print "$StabilityEvents['" + $args[0] + "'].evadetext">><br><br><<button "Return to your studio">><<goto "Studio">><</button>></fieldset><</replace>><</button>>
<<set _buttonText = "<gold>Confront</gold><br><smaller>" + _tempEventName.confront[0].variable + " " + _tempEventName.confront[0].type + " " + _tempEventName.confront[0].value + "<br>"+ _tempEventName.confront[1].variable + " " + _tempEventName.confront[1].type + " " + _tempEventName.confront[1].value + "</smaller>">>
<<button "_buttonText">><<replace "#event-info">>
<<StabilityOutcomes $args[0] "confront" $ModelSelected>>
<fieldset><legend>You confront _GirlA</legend><<print "$StabilityEvents['" + $args[0] + "'].confronttext">><br><br><<button "Return to your studio">><<goto "Studio">><</button>></fieldset><</replace>><</button>>
<<set _buttonText = "<gold>Support</gold><br><smaller>" + _tempEventName.support[0].variable + " " + _tempEventName.support[0].type + " " + _tempEventName.support[0].value + "<br>"+ _tempEventName.support[1].variable + " " + _tempEventName.support[1].type + " " + _tempEventName.support[1].value + "</smaller>">>
<<if $Bio[$ModelSelected].agree == 1>>
<span class="buttondisabled"><<disable>><<button "_buttonText">><<replace "#event-info">>
<<StabilityOutcomes $args[0] "support" $ModelSelected>>
<</replace>><</button>><</disable>></span>
<<else>>
<<button "_buttonText">><<replace "#event-info">>
<<StabilityOutcomes $args[0] "support" $ModelSelected>>
<fieldset><legend>You support _GirlA</legend><<print "$StabilityEvents['" + $args[0] + "'].supporttext">><br><br><<button "Return to your studio">><<goto "Studio">><</button>></fieldset><</replace>><</button>>
<</if>>
</span>
</fieldset>
</span>
<</widget>>
<<widget StabilityOutcomes>>
<<print "<<set _tempEventName = $StabilityEvents[$args[0]]." + $args[1] + ">>">>
<<for _i = 0; _i < 2; _i++>>
<<if _tempEventName[_i].variable == "relationship">>
<<if _tempEventName[_i].type == "increase">><<print "<<set $Bio['" + $args[2] + "'].relationship += _tempEventName[_i].value>>">>
<<else>><<print "<<set $Bio['" + $args[2] + "'].relationship -= _tempEventName[_i].value>>">><</if>>
<<elseif _tempEventName[_i].variable == "relationshipB">>
<<if _tempEventName[_i].type == "increase">><<print "<<set $Bio['" + _GirlBid + "'].relationship += _tempEventName[_i].value>>">>
<<else>><<print "<<set $Bio['" + _GirlBid + "'].relationship -= _tempEventName[_i].value>>">><</if>>
<<elseif _tempEventName[_i].variable == "extraversion">>
<<if _tempEventName[_i].type == "increase">>
<<print "<<set $Bio['" + $args[2] + "'].extra[0] += _tempEventName[_i].value>>">>
<<else>>
<<print "<<set $Bio['" + $args[2] + "'].extra[0] -= _tempEventName[_i].value>>">>
<</if>>
<<print "<<if $Bio['" + $args[2] + "'].extra[0] > 3>><<set $Bio['" + $args[2] + "'].extra[0] = 3>><</if>>">>
<<print "<<if $Bio['" + $args[2] + "'].extra[0] < 1>><<set $Bio['" + $args[2] + "'].extra[0] = 1>><</if>>">>
<<print "<<set _TraitValue = (random(1,4) * $Bio['" + $args[2] + "'].extra[0]) - 1 >><<set $Bio['" + $args[2] + "'].extra[1] = $Traits['Extraversion'][_TraitValue][1]>>">>
<<elseif _tempEventName[_i].variable == "drug">>
<<print "<<set $Bio['" + $args[2] + "'].health['drugs'] += _tempEventName[_i].value>>">>
<<elseif _tempEventName[_i].variable == "alcohol">>
<<print "<<set $Bio['" + $args[2] + "'].health['alcohol'] += _tempEventName[_i].value>>">>
<<elseif _tempEventName[_i].variable == "depression">>
<<print "<<set $Bio['" + $args[2] + "'].health['depression'] += _tempEventName[_i].value>>">>
<<elseif _tempEventName[_i].variable == "morbidity">>
<<print "<<set $Bio['" + $args[2] + "'].health['morbidity'] += _tempEventName[_i].value>>">>
<<elseif _tempEventName[_i].variable == "availability">>
<<print "<<set $Bio['" + $args[2] + "'].availability['weeks'] = _tempEventName[_i].value, $Bio['" + $args[2] + "'].availability['state'] = _tempEventName[_i].type>>">>
<<elseif _tempEventName[_i].variable == "money">>
<<if _tempEventName[_i].type == "increase">><<set $Player.money += _tempEventName[_i].value, $Player.expevents += _tempEventName[_i].value>>
<<elseif _tempEventName[_i].type > 0 and _tempEventName[_i].type < 500000>>
<<set _tempEventName[_i].value -= random(_tempEventName[_i].type, _tempEventName[_i].value)>>
<</if>>
<<set $Player.money -= _tempEventName[_i].value, $Player.expevents -= _tempEventName[_i].value>>
<<elseif _tempEventName[_i].variable == "reputation">>
<<if _tempEventName[_i].type == "increase">><<set $EventReputation += _tempEventName[_i].value>>
<<else>><<set $EventReputation -= _tempEventName[_i].value>><</if>>
<</if>>
<</for>>
<<print "<<set $Bio['" + $args[2] + "'].stability = 3>>">>
<</widget>>
<<widget ModelLeave>>
<<for _i=0; _i< $Models.length; _i++>>
<<set _tempValue = $Bio[$Models[_i]].health["drugs"] + $Bio[$Models[_i]].health["alcohol"] + $Bio[$Models[_i]].health["depression"] + $Bio[$Models[_i]].health["morbidity"]>>
<<if _tempValue > 2>>
<hilight><<print "$Bio['" + $Models[_i] + "'].namefull is unable to continue modelling and leaves your service.">></hilight><br>
<<run $Models.delete($Models[_i])>>
<<set $ModelsLeft += 1>>
<</if>>
<</for>>
<</widget>>
<<widget EventPlayer>>
<<dialogue "$Player.name" "other" $Player.gender>><<print $args[0]+".eventcontent[" + $args[1] + "][1]">><</dialogue>><br>
<</widget>>
<<widget EventImage>>
<<print "<<set _tempEvent = " + $args[0] + ".eventcontent[" + $args[1] + "][2]>>">>
<<if _tempEvent>>
<<print "<<set _tempEvent2 = " + $args[0] + ".eventcontent[" + $args[1] + "][1]>>">>
<<print "<<set _tempEvent = " + _tempEvent + ">>">>
<<print "<<set _tempEvent2 = '" + _tempEvent + _tempEvent2 + "'>>">>
<center><span class="eventimg"><<print "<<Image '" + _tempEvent2 + "'>>">></span></center><br>
<<else>>
<center><span class="eventimg"><<print "<<Image "+$args[0]+".eventcontent["+$args[1]+"][1]>>">></span></center><br>
<</if>>
<</widget>>
<<widget EventAside>>
<<thought "$Player.name" "other" $Player.gender>>
. o O ( <grey><<print $args[0]+".eventcontent[" + $args[1] + "][1]">></grey> )
<</thought>><br>
<</widget>>
<<widget EventSlug>>
<div id="center"><larger><lteyellow><i><<print $args[0]+".eventcontent["+_j+"][1]">></i></lteyellow></larger></div><br>
<</widget>>
<<widget EventAuthor>>
<p id="right"><lgs>$args[0]</lgs></p>
<</widget>>
<<widget EventTest>>
<<set $EventTrigger = ["",""]>>
<<if $Bio[$ModelSelected].stability <= 1>>
<<set $EventTrigger[0] = "stability">>
<<set _tempRandom = random(0, Object.keys($StabilityEvents).length -1)>>
<<set $EventTrigger[1] = Object.keys($StabilityEvents)[_tempRandom]>>
<<else>>
<<if Object.keys($RelationshipDefaultEvents).length > 0>>
<<set _eventTriggered = false>>
<<for _i=0; _i < $RelationshipEvent.length; _i++>>
<<set _eventName = $RelationshipEvent[_i]>>
<<if $RelationshipEvents[_eventName].flag.split(",").contains($ModelSelected)>>
<<if $Bio[$ModelSelected].relationship >= $RelationshipEvents[_eventName].relationship and $RelationshipEvents[_eventName].pgender.split(",").contains($Player.gender)>>
/% $Player.gender == $RelationshipDefaultEvents[_eventName].pgender %/
<<set $EventTrigger[0] = "RelationshipEvent">>
<<set $EventTrigger[1] = _eventName>>
<<set _eventTriggered = true>>
<<break>>
<</if>>
<</if>>
<</for>>
<<if _eventTriggered != true>>
<<for _i=0; _i < Object.keys($RelationshipDefaultEvents).length; _i++>>
<<set _eventName = Object.keys($RelationshipDefaultEvents)[_i]>>
<<if $Bio[$ModelSelected].relationship >= $RelationshipDefaultEvents[_eventName].relationship and $RelationshipEvents[_eventName].pgender.split(",").contains($Player.gender) and not $RelationshipDefaultEvents[_eventName].flag.includes($ModelSelected) >>
<<set $EventTrigger[0] = "RelationshipDefaultEvent">>
<<set $EventTrigger[1] = _eventName>>
<</if>>
<</for>>
<</if>>
<</if>>
<</if>>
<</widget>>
<<widget EndDayEvent>>
<<if $EventTrigger[0] == "">>
<<AntagonistStory>>
<<else>>
<<goto "Events">>
<</if>>
<</widget>>
/% Show event quantity left for model %/
<<widget DisplayEventQty>>
<<set _eventQtyOrig = 0>>
<<for _i=0; _i < Object.keys($RelationshipEventStore).length; _i++>>
<<if $RelationshipEventStore[Object.keys($RelationshipEventStore)[_i]].flag.split(",").contains($ModelSelected)>>
<<set _eventQtyOrig += 1>>
<</if>>
<</for>>
<<set _eventQty = 0>>
<<for _i=0; _i < $RelationshipEvent.length; _i++>>
<<set _eventName = $RelationshipEvent[_i]>>
<<if $RelationshipEvents[_eventName].flag.split(",").contains($ModelSelected)>>
<<set _eventQty += 1>>
<</if>>
<</for>>
<<if _eventQtyOrig == 0>>
There are no unique relationship events for this model
<<else>>
_eventQty / _eventQtyOrig relationship events remaining
<</if>>
<</widget>>/% Remove History Controls %/
<<if not $historyControls>>
<<script>>Config.history.controls = false;<</script>>
<</if>>
/% Image Directory %/
<<set $ImgDir = "images/">>
<<set $ModDir = "data/">>
<<set $DataFiles = {
"ModelsCore": {
"active": true,
"title": "The minimum needed files.",
"models": "-",
"relationship": "-",
"stability": "-"
},
"ModelsExtended": {
"active": false,
"title": "",
"models": "-",
"relationship": "-",
"stability": "-"
},
}>>
/% Mod file stuff %/
<<set $LastFile = "ModelsCore">>
<<set $RelationshipDefaultEvents = {} >>
<<set $RelationshipDefaultData = {} >>
<<set $RelationshipEvents = {} >>
<<set $RelationshipEventStore = {} >>
<<set $RelationshipData = {} >>
<<set $RelationshipEvent = [] >>
<<set $StabilityData = {}>>
<<set $StabilityEvents = {}>>
<<set $ModelBios = {}>>
<<set $Bio = {}>>
<<set $DataFileAdd = "">>
<<set $ModDescription = "">>
<<set $EventTrigger = ["",""]>>
/% Options %/
<<set $DebugPasswordEntered = "Enter password.">>
<<set $DebugPassword = "foxystag">>
<<set $StudioNames = ["Full Exposure", "House Adonis", "House of Aphrodite", "Studio Vixen", "The Sugar Shot", "Black Lace", "Flash Fatale", "Studio Delight", "The Silk Lens", "Shining Diamonds", "Ultima Fashonista", "Sugar'N'Spice", "Glamour Spot", "Little Black Dress", "Light and Dreams", "Sculptured", "House of Profection", "Azura Smile", "Lace Boudoir", "La Petite Mort"]>>
<<set $Display = "grid">>
<<set $DisplaySort = "A-Z">>
/% Player Information %/
<<set $Player = {
name: "John",
surname: "Connor",
gender: "male",
expliving: -1000,
expupgrade: 0,
incshoot: 0,
incwork: 1000,
deception: 1,
employment: "FullTime",
homelevel: 0,
homepointsmodifier: 6,
modelsmax: 3,
money: 100,
moneyold: 100,
pressure: 0,
reputation: 1,
stresslevel: 40,
stressmanagement: 0,
stressnatresist: 30,
studioname: "Full Exposure"
}>>
<<set $PlayerDeception = "money" >>
<<set $IncomeStream = { "FullTime": 1000, "PartTime": 700, "SelfEmployed": 0}>>
/% Stress & Reputation %/
<<set $StressFlag = false>>
<<set $SkipDayStressReleif = 5>>
<<set $EventReputation = 0>>
<<set $ReputationScore = 0>>
<<set $Staff = { "Receptionist": "other", "Assistant": "other", "Makeup Artist": "other", "Hairdresser": "other"}>>
<<set $JudgesAvailable = ["Chris Black", "Jessica White", "Michael Grey", "Chan Tan", "Ethan Gold", "Julien Leroux", "Klaus Brun", "Judith Scarlett"]>>
<<set $CompetitionStage = -5 >> /% Competition stage - counts up each week with 0 being the start of the competition %/
<<set $CompetitionJudges = [] >>
<<set $CompetitionModels = [] >>
<<set $CompetitionSpacing = 7 >> /% Weeks between competitions %/
<<set $Judges = {
"Chris Black" : {
company: "Mount Blank",
preferences: {
1 : {type : "hair[1]", criteria : "black", range : "", known : false},
2 : {type : "hair[0]", criteria : "long", range : "", known : false},
3 : {type : "Personality", criteria : "extra", range : "", known : false}}},
"Jessica White" : {
company: "Calvin Clone",
preferences: {
1 : {type : "hair[1]", criteria : "blonde", range : "", known : false},
2 : {type : "hair[0]", criteria : "extra long", range : "", known : false},
3 : {type : "cup", criteria : "D", range : "", known : false}}},
"Michael Grey" : {
company: "George Amarni",
preferences: {
1 : {type : "eyes", criteria : "grey", range : "", known : false},
2 : {type : "age", criteria : "21", range : "<=", known : false},
3 : {type : "eyes", criteria : "green", range : "", known : false}}},
"Chan Tan" : {
company: "Louis Futon",
preferences: {
1 : {type : "hair[1]", criteria : "black", range : "", known : false},
2 : {type : "eyes", criteria : "brown", range : "", known : false},
3 : {type : "height", criteria : "160", range : "<=", known : false}}},
"Ethan Gold" : {
company: "Dolce & Banana",
preferences: {
1 : {type : "height", criteria : "170", range : ">=", known : false},
2 : {type : "eyes", criteria : "blue", range : "", known : false},
3 : {type : "tattoos", criteria : "None", range : "", known : false}}},
"Julien Leroux" : {
company: "Blueberry",
preferences: {
1 : {type : "hair[1]", criteria : "red", range : "", known : false},
2 : {type : "waist", criteria : "58", range : "<=", known : false},
3 : {type : "height", criteria : "170", range : ">=", known : false}}},
"Klaus Brun" : {
company: "Goosy",
preferences: {
1 : {type : "hair[1]", criteria : "brown", range : "", known : false},
2 : {type : "hair[0]", criteria : "short", range : "", known : false},
3 : {type : "age", criteria : "22", range : "<=", known : false}}},
"Judith Scarlett" : {
company: "Ralf Loren",
preferences: {
1 : {type : "cup", criteria : "A", range : "", known : false},
2 : {type : "tattoos", criteria : "None", range : "", known : false},
3 : {type : "cup", criteria : "AA", range : "", known : false}}}
}>>
/% Contract Initialisations %/
<<set $Contracts to []>>
<<set $ContractAvailable = false>>
<<set $ContractType = ["basic", "corporate", "corporate", "adult"]>>
<<set $ContractNeeds = ["hair[1]", "hair[0]", "eyes", "age", "tattoos", "Personality", "cup", "height", "waist"]>>
<<set $ContractHColour = ["brown", "blonde", "red", "black"]>>
<<set $ContractHLength = ["extra long", "long", "medium length", "short"]>>
<<set $ContractEColour = ["blue", "green", "grey", "hazel"]>>
<<set $ContractPersonality = ["open", "extra", "agree"]>>
<<set $ContractCupSize = ["AA", "A", "B", "C", "D"]>>
<<set $ContractDetails = {
basic: {
name: ["Calvin Clone", "Ralf Loren", "Dolce & Banana", "George Amarni", "Mount Blank", "Louis Futon", "Goosy", "Blueberry"],
medium: ["article post"],
durationmin: 1,
durationmax: 1,
incomemin: 50,
incomemax: 100
},
corporate: {
name: ["Calvin Clone", "Ralf Loren", "Dolce & Banana", "George Amarni", "Mount Blank", "Louis Futon", "Goosy", "Blueberry"],
medium: ["commercial print", "online", "function", "catalog"],
durationmin: 2,
durationmax: 6,
incomemin: 100,
incomemax: 250
},
adult: {
name: ["MetArt", "Femjoy", "MPL Studios", "Playboy", "Hegre Art", "Rylsky Art", "Penthouse", "Zishy", "Watch 4 Beauty"],
medium: ["magazine", "online", "function"],
durationmin: 1,
durationmax: 1,
incomemin: 800,
incomemax: 1500
}
}>>
/% Antagonist Initialisations %/
<<set $AntagonistModels to []>>
<<set $Antagonist = {
name: "Steve",
namefull: "Steve Sly",
company: "Sly Fox Studios",
startingmodels: 2,
dirt: [7,0]
}>>
<<set $AntagonistStory = [0,1]>>
<<set $AntagonistStress = 12>>
/% Advance Time %/
<<set $Year = 1>>
<<set $Month = "January">>
<<set $WeekDay = "Sunday">>
<<set $Day = 0>>
<<set $UIBARClean = true>>
<<set $OfficeMenu = "status">>
/% Upgrades %/
<<set $Upgrades to {
path : {
equipemp : {
name : "Employer's Equipment", tooltip : "Borrow everything you need when it is not being used.<br>Maximum Models you can facilitate is 3.",
cost : 0,
requires : [],
researched : true
},
equipown : {
name : "Purchase a camera", tooltip : "Your own equipment will give you more freedom to take photo's.<br>+1 to Maximum Models",
cost : 4000,
requires : ["equipemp"],
researched : false
},
cheapapartment : {
name : "Cheap Apartment", tooltip : "Not the nicest apartment, not the nicest suburb or views but it is home.",
cost : 0,
requires : [],
researched : true
},
studiorent : {
name : "Rent studio space", tooltip : "Greater independence and flexibility to take photos, requires your own camera.<br>+3 to Maximum Models<br><r><i class='fsicon'> </i></r> 150 each shoot to rent.",
cost : 3000,
requires : ["equipown"],
researched : false
},
flash : {
name : "External Flash", tooltip : "A basic external flash for your camera.<br>+.25 profit modifier to normal shoots<br>+.10 profit modifier to lingerie shoots",
cost : 1000,
requires : ["studiorent"],
researched : false
},
apartment : {
name : "Apartment", tooltip : "A slightly nicer apartment in a safer suburb. This will reduce your stress.",
cost : 5000,
requires : ["cheapapartment"],
researched : false
},
assistant : {
name : "Staff: Assistant", tooltip : "Someone to assist you when you do your shoots.<br>-4 modifier to player stress",
cost : 2500,
requires : ["carportstudio"],
researched : false
},
carportstudio : {
name : "Carport Studio", tooltip : "Requires a small home so you can setup your own private studio space in your carport.<br>+1 to Maximum Models",
cost : 5000,
requires : ["smallhome"],
researched : false
},
equipbackup : {
name : "Backup Camera", tooltip : "For when things go wrong.<br>-4 modifier to player stress",
cost : 5000,
requires : ["carportstudio"],
researched : false
},
smallhome : {
name : "Small Home", tooltip : "Your own home and carport. It's no bigger than your apartment but at least you can't hear your neighbours at night. This will reduce your stress.",
cost : 8000,
requires : ["apartment"],
researched : false
},
receptionist : {
name : "Staff: Receptionist", tooltip : "Someone to help manage your office.<br>Ability to hold auditions instead of getting random contacts.<br>-4 modifier to player stress",
cost : 2500,
requires : ["smallsuburbanstudio"],
researched : false
},
smallsuburbanstudio : {
name : "Small Suburban Studio", tooltip : "A cheap stuido among a small group of shops.<br>+3 to Maximum Models<br>+0.25 proft modifier to all shoot types",
cost : 10000,
requires : ["carportstudio"],
researched : false
},
equiplighting : {
name : "Studio Lighting", tooltip : "The first step in owning your own studio.<br>+0.25 proft modifier to all shoot types",
cost : 5000,
requires : ["smallsuburbanstudio"],
researched : false
},
mediumhome : {
name : "Medium Home", tooltip : "A decent home in an average neighbourhood. This will reduce your stress.",
cost : 10000,
requires : ["smallhome"],
researched : false
},
suburbanstudio : {
name : "Suburban Studio", tooltip : "A nicely decked out studio with ample offstreet parking.<br>+4 to Maximum Models",
cost : 15000,
requires : ["smallsuburbanstudio"],
researched : false
},
backdrops : {
name : "Backdrops", tooltip : "A nice range of backdrops and props to use for your shoots.+0.33 proft modifier to all shoot types",
cost : 5000,
requires : ["suburbanstudio"],
researched : false
},
opulenthome : {
name : "Opulent Home", tooltip : "A large house with a pool, close to the city and your work. This will reduce your stress.",
cost : 20000,
requires : ["mediumhome"],
researched : false
},
makeupartist : {
name : "Staff: Makeup Artist", tooltip : "Will help you to get original photos!",
cost : 5000,
requires : ["hairdresser","penthousestudio"],
researched : false
},
citystudio : {
name : "City Studio", tooltip : "Mixing it with the professionals with a nice city studio workplace.<br>+3 to Maximum Models<br>+0.25 proft modifier to all shoot types",
cost : 20000,
requires : ["suburbanstudio"],
researched : false
},
dressingroom : {
name : "Dressing Room", tooltip : "Increases chance for poise cards upto 10% during your photoshoots but can be expensive to maintain. Dressing Room loadout adjusted from office screen.",
cost : 10000,
requires : ["citystudio"],
researched : false
},
citypenthouse : {
name : "City Penthouse", tooltip : "A large penthouse suite right in the CBD overlooking the city. This will reduce your stress.",
cost : 40000,
requires : ["opulenthome"],
researched : false
},
hairdresser : {
name : "Staff: Hairdresser", tooltip : "Will help you to get original photos!",
cost : 4000,
requires : ["dressingroom"],
researched : false
},
penthousestudio : {
name : "Penthouse Studio", tooltip : "A nice studio on the top floor of one of the city's tallest buildings.<br>+3 to Maximum Models<br>+0.5 proft modifier to all shoot types",
cost : 50000,
requires : ["citystudio"],
researched : false
},
website : {
name : "Website", tooltip : "Increase chance for popularity cards upto 10% during your photoshoots. Models with complete sets will also earn you a bonus income each week based on their popularity.",
cost : 10000,
requires : ["citystudio"],
researched : false
},
mansion : {
name : "Mansion", tooltip : "A large house with multiple bedrooms in a very flash part of the city.",
cost : 75000,
requires : ["citypenthouse"],
researched : false
},
concubine : {
name : "Concubines", tooltip : "Additional bedrooms allowing models to be concubined and provide you with additional stress relief.",
cost : 25000,
requires : ["citypenthouse"],
researched : false
},
luxurypenthouse : {
name : "Luxury Penthouse Studio", tooltip : "Envy of all the photographers panoramic views and multiple workspaces to take photos in a beautiful penthouse suite.<br>+3 to Maximum Models<br>+1.0 proft modifier to all shoot types",
cost : 80000,
requires : ["penthousestudio"],
researched : false
},
lounge : {
name : "Lounge", tooltip : "A place for your models to hangout and relax whenever they choose. Increases chance for relationship cards upto 10% during your photoshoots but can be expensive to maintain. Lounge loadout adjusted from office screen.",
cost : 30000,
requires : ["citystudio"],
researched : false
},
manor : {
name : "Manor", tooltip : "A very large house and gardens on your own private land.",
cost : 100000,
requires : ["mansion"],
researched : false
}
}
}>>
<<set $servicePool = 2500>>
<<set $loungeMax = 2500>>
<<set $loungeLoadout = 0>>
<<set $websiteMax = 2500>>
<<set $websiteLoadout = 0>>
<<set $dressingroomMax = 2500>>
<<set $dressingroomLoadout = 0>>
<<set $serviceIncrement = 500>>
<<set $MenuOfficeState = "status">>
<<set $ShootAbility to {"stress" : 0, "studio" : 6}>>
<<set $ShootType = "normal">>
<<set $ShootCost = 300>>
<<set $ShootCardsRevealed = 3>>
<<set $ShootNewCardBonus = 300>>
<<set $Shoot = {
normal : {
filenamecode: "010",
incomebase: 100,
incomemodifier: 1
},
lingerie : {
filenamecode: "020",
incomebase: 100,
incomemodifier: 2
},
topless : {
filenamecode: "030",
incomebase: 150,
incomemodifier: 2.5
},
nude : {
filenamecode: "040",
incomebase: 200,
incomemodifier: 3
}
}>>
<<set $AuditionCost = 500>>
<<set $AuditionSize = 3>>
<<set $Concubines = []>>
<<set $Models = []>>
<<set $ModelsActive = []>>
<<set $ModelSelected = 0>>
<<set $ModelAuditions = false>>
<<set $ModelArrived = false>> /% Flag to indicate a model has joined this week %/
<<set $ModelSort = "Alphabetically">>
<<set $ModelSortOptions = ["Alphabetically", "Confidence", "Popularity", "Contracts Completed"]>>
<<set $ModelGain = [0, 8, 18, 32, 48, 66, 88, 115, 145, 177, 210, 244, 278, 314, 350, 386, 422, 460, 500, 540, 585, 630, 675, 720, 765, 810, 855, 900, 950, 1000]>>
<<set $Bios = []>>
<<set $Traits = {
"Openness" : [
[1, "prefers familiar people and activities."],
[1, "will tend to knuckle down and stick with what she knows."],
[1, "is considered a bit of a conservative and hesitant to try new things."],
[1, "is more comfortable with familiar people and environments."],
[2, "is down to earth and easy going."],
[2, "will consider new things if she can see the merit."],
[2, "is not known for her creativity or curiosity but appreciates meaningful change."],
[2, "takes a practical and logical approach to challenges."],
[3, "is sometimes considered impractical or unrealistic."],
[3, "has shown to be very open to new ideas and activities."],
[3, "has a curious mind and tends to get easily bored."],
[3, "will actively seek new experiences."]
],
"Extraversion" : [
[1, "prefers to be away from the limelight"],
[1, "likes to work alone or just in pairs"],
[1, "gets anxious when she is the centre of attention"],
[1, "is considered a very serious, quiet and private person"],
[2, "is able to adapt herself to accommodate various social groups"],
[2, "has a moderate threshold for sensory stimulation, but will tire after a while"],
[2, "knows when to step up and when to back away from a challenge"],
[2, "is social but doesn't seek attention"],
[3, "hates being alone and seeks the attention of others"],
[3, "likes to be in the thick of the action and is always doing something"],
[3, "has a very bubbly social personality and loves to engange with others"],
[3, "is fun loving but not considered a good listener, and tends to dominate conversations"]
],
"Agreeableness" : [
[1, "and tends to cater for her own personal priorities."],
[1, "and is very skeptical to authority figures."],
[1, "and is very competitive with others."],
[1, "and is often considered as hotheaded and self-centred."],
[2, "and can shift between competitive and cooperative situations well."],
[2, "and will always try for win-win outcomes."],
[2, "and is tolerant to differences of opinion."],
[2, "and can tollerate a variety of personalities."],
[3, "and is somewhat submissive often giving in to peer pressure."],
[3, "and tries to accommodate the wishes and needs of others."],
[3, "and is humble and accepting of criticism avoiding conflict where possible."],
[3, "and is considered naieve due to her trust in others."]
]
}>>
<<set $Deceptions = {
money: {
description: "I want to make lots of cash and lead a stress free lifestyle.",
goals: [
["home", "manor"],
["money", 250000],
["stress", 10]]
},
fame: {
description: "I want to excel in this career and be envied by all.",
goals: [
["home", "citypenthouse"],
["studio", "penthousestudio"],
["competition", 6]]
},
women: {
description: "Work with hot girls all day? Need I say more?",
goals: [
["home", "citypenthouse"],
["cards", 20],
["concubine", 6]]
},
nemesis: {
description: "Defeat your nemesis.",
goals: [
["antagonist", false ],
["models", true]]
}
}>>
/% Antagonist Game Flags%/
<<set $GuestSelected = {id: "Empty", type: "Empty" }>>
<<set $GuestWaiting = [{id: "Empty", type: "Empty" },{id: "Empty", type: "Empty" },{id: "Empty", type: "Empty" }]>>
<<set $Table = ["","","","","","","","","","","","","","","",""]>>
<<set $Empty = {id: "Empty", type: "Empty" }>>
<<set $GuestFlipCard = true>>
<<set $Flips = 0>>
<<set $MinigameMode = false>>
<<set $ModelsLeft = 0>>
<<set $Guests = [
{ id: "pro", type: "pro", top: 0, left: 0, bottom: 0, right: 0, middle: 0 },
{ id: "ant", type: "ant", top: 9, left: 9, bottom: 9, right: 9, middle: 0 }
]>>
<<set $GameCardInfo = [
{ top: "open", left: "open", bottom: "extra", right: "extra" },
{ top: "open", left: "open", bottom: "extra", right: "extra" },
{ top: "open", left: "open", bottom: "extra", right: "extra" },
{ top: "open", left: "extra", bottom: "extra", right: "open" },
{ top: "open", left: "extra", bottom: "extra", right: "open" },
{ top: "open", left: "extra", bottom: "extra", right: "open" },
{ top: "extra", left: "extra", bottom: "open", right: "open" },
{ top: "extra", left: "extra", bottom: "open", right: "open" },
{ top: "extra", left: "extra", bottom: "open", right: "open" },
{ top: "extra", left: "open", bottom: "open", right: "extra" },
{ top: "extra", left: "open", bottom: "open", right: "extra" },
{ top: "extra", left: "open", bottom: "open", right: "extra" },
]>>/% Show disclaimer and brief rundown of game.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<Image "other/title.png">><br>
<fieldset class="titleabout">
<legend>In the time of cherries <lgs>(build 17)</lgs> :</legend>
<b><gold><larger><i class='fsicon'> </i></larger></gold> <r>This game is a fantasy and contains adult (18+) related themes and content.</r></b><br> If you are under the age of 18 or this kind of content offends you, you will need to exit immediately.<br>
<hr>
<bl>In the time of cherries</bl> is a softcore adult business management simulator where the focus of the game is around managing your own photography studio. It is currently being made in my spare time as a hobby and has been inspired by games like <i>A Photographer's Lies</i> by SkullCam37 and <i>Idol Manager</i> by Glitch Pitch.<br>
<br>
There are hundreds of models to view with personality details generated randomly, in other words none of the details in this game are to be taken seriously. You can view recent changes to the game [[here|Changelog]], and ofcourse I welcome your suggestions on improving the game!<br>
<br>
</fieldset>
<<if recall("DataFiles")>><<set $DataFiles = recall("DataFiles")>>
<<for _i = 1; _i < Object.keys($DataFiles).length; _i++>>
<<set $DataFiles[Object.keys($DataFiles)[_i]].active = false>>
<<set $DataFiles[Object.keys($DataFiles)[_i]].models = '-'>>
<<set $DataFiles[Object.keys($DataFiles)[_i]].relationship = '-'>>
<<set $DataFiles[Object.keys($DataFiles)[_i]].stability = '-'>>
<</for>>
<</if>>
<<button "Setup">><<script>>Engine.play("DataFile");<</script>>
<<set $LastFile = "ModelsCore">>
<<LoadCustomData $LastFile>>
<</button>>
<br>
<fieldset class="developer">
<legend>Developer note:</legend>
<grey>If you experience issues try different browsers first, then try adjusting your security settings. If problems persist... *shrugs*</grey>
</fieldset>/% First intro screen simply sets up player controlled initialisation components.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<fieldset class="charc">
<legend>Player Setup</legend>
<b><a class="tooltip"><span>Affects icon, and relationship events if present.</span>Your Gender</a>:</b>
<<radiobutton "$Player.gender" "male" checked>> Male <<radiobutton "$Player.gender" "female">> ''Female''
<br><br>
<b><a class="tooltip"><span>Keep under 15 characters for each.</span>Your Name</a>: </b>
<<textbox "$Player.name" $Player.name "Intro2">> Surname: <<textbox "$Player.surname" $Player.surname "Intro2">>
<br><br>
<b><a class="tooltip"><span>Keep under 15 characters for each.</span>Your Studio Name</a>: </b>
<<set $Player.studioname = $StudioNames[random(0,($StudioNames.length-1))]>>
<<textbox "$Player.studioname" $Player.studioname "Intro2">>
</fieldset>
<fieldset class="charc">
<legend>Deception:</legend>
<table>
<tr><td colspan="3" valign="top">
<i>"Photography inspires me and I want to capture the natural beauty of the world around me."</i><br>
Yeah, well that's what you tell people. But deep down what is the real reason for moving into photography?<br><br>
</td><td rowspan="2" width="280em" align="right"><<Image concubine.png>></td></tr>
<tr><td width="15em"></td><td valign="top">
Choose your <a class="tooltip"><span>What you choose will become your end game conditions.</span>deception</a>:<br>
<<radiobutton "$PlayerDeception" "money" checked>> <span style="color:#99FF99">''Money''</span>
<br><<radiobutton "$PlayerDeception" "fame">> <span style="color:#9980FF;">''Fame''</span>
<br><<radiobutton "$PlayerDeception" "women">> <span style="color:#FF99FF;">''Women''</span>
<br><<radiobutton "$PlayerDeception" "nemesis">> <span style="color:#FF9966;">''Nemesis''</span>
<br></td><td width="620em" valign="top">
<fieldset><legend>Deception Goals:</legend>
<i><span id="deception" >Nothing</span></i>
</fieldset>
<<script>>
$(document).one(":passagerender", function (event) {
$(event.content).find("#deception").empty().wiki("<<DeceptionGoals $PlayerDeception>>");
$(event.content).find("[name='radiobutton-playerdeception']").on("change", function (event) {
$("#model-info");
$("#deception").empty().wiki("<<DeceptionGoals $PlayerDeception>>");
});
});
<</script>>
<br><br><br><br>
</td>
</tr></table>
</fieldset>
<<button "Continue">>
<<if $Player.name isnot "" and $Player.surname isnot "">>
<<goto Intro2>>
<<else>>
<<set $MESSAGE to "<b><r>You need to enter a first and last name!</r></b>">>
<<goto Intro>>
<</if>>
<<SetupModelBios>>
<</button>>
<<if $MESSAGE>>
<<print $MESSAGE>><<unset $MESSAGE>>
<</if>>/% Show the prologue of the game.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
/% Assign Models to Antagonist %/
<<for _i to 0; _i < $Antagonist.startingmodels; _i++>>
<<set $ModelSelected = $Bios[random(0,($Bios.length-1))]>>
<<set $AntagonistModels.push($ModelSelected)>>
<<set $Bios.delete($ModelSelected)>>
<</for>>
<<if $Debug>>
<fieldset class="developer"><legend>Developer note:</legend>
Models Loaded: <lgs><<print Object.keys($Bio).length>></lgs><br>
Custom Relationship Events Loaded: <lgs><<print Object.keys($RelationshipEvents).length>></lgs><br>
Custom Stability Events Loaded: <lgs><<print Object.keys($StabilityEvents).length>></lgs><br>
Antagonist models assigned: <lgs>
<<for _i to 0; _i < $AntagonistModels.length; _i++>> $AntagonistModels[_i] | <</for>></lgs><br>
<<button "Add 2 more player models">> <<for _i to 0; _i < 2; _i++>>
<<set $ModelSelected = $Bios[random(0,($Bios.length-1))]>>
<<set $Models.push($ModelSelected)>>
<<set $Bios.delete($ModelSelected)>>
<<AddRelationshipEvents $ModelSelected>>
<</for>><</button>></fieldset>
<</if>>
<<set $ModelSelected = $Bios[random(0,($Bios.length-1))]>>
<<set $Models.push($ModelSelected)>>
<<set $Bios.delete($ModelSelected)>>
<<AddRelationshipEvents $ModelSelected>>
<fieldset>
<legend>Prologue:</legend>
<p>
You have been working for a newspaper publication for the past 10 years. Over the last 3 years you have worked hard turning their paperbased business into an online media powerhouse however despite posting record profits your position has now been made redundant and you soon found yourself out of work.<br>
</p><p>
As a show of kindness your manager has offered to re-hire you, under a different job title you would be doing essentially the same work but now at a pay half of what you were previously getting paid. Reluctantly you agreed, it would have to do until you found yourself another source of income.
</p><p>
Things however have just gotten worse, and you have now found yourself being asked to do odd jobs for the managers son, $Antagonist.namefull owner of $Antagonist.company. More like Slimy Fox Studios. You can’t stand the guy, half your age driving around in a sports car and the biggest head you can imagine. Just the very thought of the creep gives you the shits!
</p>
<table><tr>
<td valign="top"><p>
It was on one of these late afternoon errand’s for $Antagonist.name that you met $Bio[$ModelSelected].name. A young girl who just like you hated the guy. $Bio[$ModelSelected].name was also financially strapped and he was trying to take advantage of her due to her financial situation.
</p><p>
Fuck this, he stands around all day taking photo’s of stunning girls like this and then get’s me to do all his editing work. I don’t think so. You decide to offer to take the photo’s for her yourself. You know the studio didn’t get used on the weekend, he will never know.</p>
<p>You catch up with her a few days later...</p></td><td><<set _tempImagePath = $ModelSelected +"/portrait.webp">><<ImageModel $ModelSelected "portrait">></td></tr></table>
</fieldset>
<<button "Meet $Bio[$ModelSelected].name">><<goto "Intro3">><</button>>
<br>/% Setting of current scene and what is happening now.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Oh my god! Thank you so much for taking these photos for me, they look amazing!<</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
What did you expect? They are photo's of you, of course they were going to look great!<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Of course, right! But seriously these were so much better than what $Antagonist.name does for you at the modeling agency. My friends saw them and they were so jealous! Do you know how much he wanted me to pay just so I could have him take my photos? And the way he looks at you... all creepy like.... Brrrr... I don't know what people see in him!<br><</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
Well look forget about $Antagonist.name, I had a lot of fun taking those photos with you last week! You are a natural infront of the camera, you looked really comfortable and very professional. I'd love to take more photos of you. How about I let you know when I'm available and we can hook something up?<</dialogue>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Really? That would be so great! I had a lot of fun too! I get so uncomfortable around $Antagonist.name and so I feel so stiff, you on the other hand, I just feel really comfortable and can just relax and be my dorky self infront of the camera.<br><br>Oh and one more thing, that is if you don't mind. A couple of friends that went to $Antagonist.name's modelling agency with me wanted to know if you would take photos of them too? They are soo pretty, you probably won't want to take photos of me anymore after you see them!<</dialogue>>
<<dialogue "$Player.name" "other" $Player.gender>>
That's not true, but I'd be happy to take photos of them too. Feel free to give them my details, who knows perhaps I can turn this into more than just a hobby outside of work?<</dialogue>>
<br>
<<button "Continue">><<set $UIBARClean = false>><<goto "EndDay">><</button>><<Image "other/logo.png">>/% Sidebar components.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<if !$UIBARClean>>
Year: $Year<br>
Month: $Month<br>
Day: $Day ($WeekDay)<br>
<br>
<g><i class='fsicon'> </i></g>
Money: $Player.money
<br>
<r><i class='fsicon'> </i></r>
Pressure: $Player.pressure
<br>($Player.stresslevel% stressed)
<br>
<gold><i class='fsicon'> </i></gold>
Reputation: $Player.reputation
<br><br>
Max models: $Player.modelsmax<br>
<br>
<a data-passage="Achievements"><<Image "other/achievement.png">></a>
<</if>><<if !$UIBARClean>><<link "MINIGAME">><<goto "AntagonistDinner">><<set $MinigameMode = true>><</link>><</if>>/% Main screen - show models and goto other screens from here.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<CalculateStress>>
<<MenuButtons>>
/% New player guide to just take photos for now %/
<<if $Models.length == 1>>
<<dialogue "$Player.name" "other" $Player.gender>>
<<print "I haven't heard from $Bio."+$Models[0]+".name's friends yet, perhaps I should take more photos of her until I get a better reputation.">><</dialogue>>
<</if>>
<<if $Player.stresslevel > 50 and $StressFlag == false>>
<<dialogue "$Player.name" "other" $Player.gender>>
<<print "I'm getting really stressed out, perhaps I should stop hiring new models for now.">><div class="noWrap"><<button "ok">><<set $StressFlag = true>><<goto Studio>><</button>></div><</dialogue>>
<</if>>
/% Display Models %/
<fieldset style="padding: 6px 12px 6px 12px;">Sort: <<listbox "$ModelSort" autoselect>><<optionsfrom $ModelSortOptions>><</listbox>> <span class="icon"><<button "<<Image icon-sort.png>>">><<if $DisplaySort == "A-Z">><<set $DisplaySort = "Z-A">><<else>><<set $DisplaySort = "A-Z">><</if>><<goto "Studio">><</button>> <<button "<<Image icon-grid.png>>">><<set $Display = "grid">><<goto "Studio">><</button>> <<button "<<Image icon-list.png>>">><<set $Display = "list">><<goto "Studio">><</button>> <<button "<<Image icon-personal.png>>">><<set $Display = "personal">><<goto "Studio">><</button>></span><div class="noWrap"><<button "skip day">><<SkipDayStressReleif>><<goto EndDay>><</button>></div></fieldset>
<span id="model-info"><<ModelSort>><<ModelDisplay>></span>
<<script>>
$(document).one(":passagerender", function (event) {
$(event.content).find("#model-info").empty().wiki("<<ModelSort>><<ModelDisplay>>");
$(event.content).find("#listbox-modelsort").on("change", function (event) {
$("#model-info").fadeOut(500);
setTimeout(function () {
$("#model-info").empty().wiki("<<ModelSort>><<ModelDisplay>>").fadeIn(500);
}, 500);
});
});
<</script>>/% Recrute models passage for both direct recruitments and auditions.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<set $ModelArrived = true>>
<<if $ModelAuditions>>
<<set _tempAuditionModels = []>>
<<set _tempAuditionList = []>>
<<set _tempAuditionList = Array.from($Bios)>>
<<for _i to 0; _i < $AuditionSize; _i++>>
<<set _tempAuditionModels.push(_tempAuditionList[random(0,(_tempAuditionList.length-1))])>>
<<set _tempAuditionList.delete(_tempAuditionModels[_i])>>
<</for>>
Select a portrait to spend <r><i class='fsicon'> </i> $AuditionCost</r> to audition the model. You may audition upto <g>$AuditionSize</g> models but can only choose one to add.
<table width="50%"><tr><td>
<<for _i to 0; _i < $AuditionSize; _i++>>
<<set _tempModel = _tempAuditionModels[_i]>>
<<capture _tempModel>>
<<set _j = _i + 1>>
<<print "<div id='" + _tempModel + "' width='50%'>
<fieldset>
<legend>Applicant " + _j + "</legend>
<table><tr><td>
<div >
<<click '<<AuditionClick>>'>><<replace '#" + _tempModel + "'>><<set $Player.money -= $AuditionCost>><<AuditionModel _tempModel>><</replace>><</click>></div></td>
<td> <<if $Bio." + $Staff['Receptionist'] + ".agree[0] == 2>><<AuditionInfo _tempModel>><</if>></td></tr></table>
</fieldset>
</div>">>
<</capture>>
<</for>>
<br>
<<button "None of the above">><<goto "Studio">><</button>>
</td></tr></table>
<<else>>
<<if $Player.reputation > $Models.length>>
<<set $ModelSelected = $Bios[random(0,($Bios.length-1))]>>
<<set $Models.push($ModelSelected)>>
<<set $Bios.delete($ModelSelected)>>
<<AddRelationshipEvents $ModelSelected>>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
Hi, my name's $Bio[$ModelSelected].name. My friend told me you might be able to help me get into the modelling industry.<br>
<</dialogue>><br>
$Bio[$ModelSelected].namefull has been added to your portfolio.<br>
Taking on an extra model has increased your stress.<br>
<</if>>
<br>
<<button "Return to Studio">><<goto "Studio">><</button>>
<</if>>/% Passage when player contacts model directly, mostly for showing details about model and the cards player has revealed.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<fieldset class="developer">
<legend>Model Notes:</legend>
<span style="float:right; margin-left: 20px; margin-right: 20px; margin-top: -15px;">
<smaller>
<table class="table-models" align="right" style="margin-left: 6px">
<thead><th colspan="2">Abilities</th></thead>
<tbody>
<tr><th>Poise</th><td>$Bio[$ModelSelected].poise</td></tr>
<tr><th>Confidence</th><td><<Confidence>></td></tr>
<tr><th>Popularity</th><td>$Bio[$ModelSelected].popularity</td></tr>
<tr><th>Relationship</th><td><a class="tooltip"><span><<DisplayEventQty>></span><i class='fsicon'> </i></a> <<Relationship>></td></tr>
</tbody></table>
<table class="table-models" align="right">
<thead><th colspan="2">Personality</th></thead>
<tbody>
<tr><th>Extroversion</th><td><<Extroversion>></td></tr>
<tr><th>Openness</th><td><<Openness>></td></tr>
<tr><th>Agreeableness</th><td><<Agreeableness>></td></tr>
<tr><th>Stability</th><td><<Stability>></td></tr>
</tbody></table></smaller></span>
<smaller>
$Bio[$ModelSelected].namefull is $Bio[$ModelSelected].age years old with $Bio[$ModelSelected].hair[0] $Bio[$ModelSelected].hair[1] hair and $Bio[$ModelSelected].eyes eyes and is from a $Bio[$ModelSelected].nationality background. $Bio[$ModelSelected].name is $Bio[$ModelSelected].height cm's tall and weigh's $Bio[$ModelSelected].weight kg's with size $Bio[$ModelSelected].cup breasts. $Bio[$ModelSelected].name's measurements are bust: $Bio[$ModelSelected].bust waist: $Bio[$ModelSelected].waist hips: $Bio[$ModelSelected].hips.<br>
<br>
When working with others $Bio[$ModelSelected].name $Bio[$ModelSelected].open[1] <br>
$Bio[$ModelSelected].name $Bio[$ModelSelected].extra[1] $Bio[$ModelSelected].agree[1]<br>
<br><bl><i class='fsicon'> </i></bl> $Bio[$ModelSelected].name has completed $Bio[$ModelSelected].contracts contracts.
/% If model has a contract out show icon %/
<<for _j to 0; _j < $Contracts.length; _j++>>
<<if $Contracts[_j].model == $ModelSelected>> $Bio[$ModelSelected].name is currently working a contract with $Contracts[_j].name.<br><</if>>
<</for>>
<<if $Bio[$ModelSelected].competition>><br><gold><i class='fsicon'> </i></gold> $Bio[$ModelSelected].name has won the Model Monthly competition!<</if>>
</smaller>
</fieldset>
<<dialogue "$Bio[$ModelSelected].name" "$ModelSelected" "portrait">>
<span id="comment" >Hey, what's up? What type of shoot did you want to organise?</span>
<</dialogue>>
<br>
<<button "Organise a photoshoot">><<set $ShootType = "normal">><<goto "PhotoshootResult">><</button>>
<<if $Bio[$ModelSelected].confidence >= 8>>
| <<button "Organise lingerie shoot">><<set $ShootType = "lingerie">><<goto "PhotoshootResult">><</button>>
<</if>>
<<if $Bio[$ModelSelected].confidence >= 18>>
<<if $Bio[$ModelSelected].contracts >= 2>>
| <<button "Organise a topless shoot">><<set $ShootType = "topless">><<goto "PhotoshootResult">><</button>>
<<else>>
<<timed 100ms>><<replace "#comment">>I would like to get more contracts before I try anything more.<</replace>><</timed>>
<</if>>
<</if>>
<<if $Bio[$ModelSelected].confidence >= 28>>
<<if $Bio[$ModelSelected].contracts >= 5>>
| <<button "Organise a nude shoot">><<set $ShootType = "nude">><<goto "PhotoshootResult">><</button>>
<<else>>
<<timed 100ms>><<replace "#comment">>I would like to have done more contracts before I do anything more intense.<</replace>><</timed>>
<</if>>
<</if>>
| <<button "Cancel Request">><<goto "Studio">><</button>>
<br><br>
/% Concubine ability check %/
<<if $Bio[$ModelSelected].confidence >= 40 and $Bio[$ModelSelected].relationship >=13 and $Upgrades.path["concubine"].researched == true>>
<<button "Request concubine">><<Concubine $ModelSelected>><<goto "Concubine">><</button>>
<</if>>
/% Antagonist story event button %/
<<if $AntagonistStory[0] == 4 and $AntagonistStory[1] == 0>> <<button "<gold><i class='fsicon'> </i></gold> Invite to Party">><<goto "AntagonistParty">><</button>><</if>>
<fieldset><legend>Cards Collected:</legend>
<<CardList "normal" "010">><br>
<<if $Bio[$ModelSelected].confidence >= 8>><<CardList "lingerie" "020">><br><</if>>
<<if $Bio[$ModelSelected].confidence >= 18 and $Bio[$ModelSelected].contracts >= 2>><<CardList "topless" "030">><br><</if>>
<<if $Bio[$ModelSelected].confidence >= 28 and $Bio[$ModelSelected].contracts >= 5>><<CardList "nude" "040">><br><</if>>
</fieldset>/% Progress time. The days the player is active varies depending on their job
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<switch $WeekDay>>
<<case "Monday">>
<<set $WeekDay = "Tuesday", $Day += 1>>>>
<<StressReturn>><<ProgressMonth>><<EndDayEvent>>
<<case "Tuesday">>
<<set $WeekDay = "Wednesday", $Day += 1>>
<<StressReturn>><<ProgressMonth>><<EndDayEvent>>
<<case "Wednesday">>
<<set $WeekDay = "Thursday", $Day += 1>>
<<StressReturn>><<ProgressMonth>><<EndDayEvent>>
<<case "Thursday">>
<<set $WeekDay = "Friday", $Day += 1>>
<<StressReturn>><<ProgressMonth>><<EndDayEvent>>
<<case "Friday">>
<<if $Player.employment == "SelfEmployed">>
<<StressReturn 3>><<EndWeek>>
<fieldset>
<legend>New Week:</legend>
<<set _profit = $Player.money - $Player.moneyold>>
After a busy week, you kickbacked and enjoyed the weekend. It looks like you made <g><i class='fsicon'> </i></g> _profit during the week.<br><br>
<<set $Player.moneyold = $Player.money>>
<<set $WeekDay = "Monday", $Day += 3>>
<<ProgressMonth>>
</fieldset>
<<else>>
<<set $WeekDay = "Saturday", $Day += 1>>
<<StressReturn>><<ProgressMonth>><<EndDayEvent>>
<</if>>
<<case "Saturday">>
<<set $WeekDay = "Sunday", $Day += 1>>
<<StressReturn>><<ProgressMonth>><<EndDayEvent>>
<<case "Sunday">>
<<EndWeek>>
<fieldset>
<legend>New Week:</legend>
<<set _profit = $Player.money - $Player.moneyold>>
Your finances have changed by <<if _profit >= 0>><g><i class='fsicon'> </i></g><<else>><r><i class='fsicon'> </i></r><</if>> _profit since last week.<br><br>
<<set $Player.moneyold = $Player.money>>
<<if $Player.employment == "FullTime">>
Monday to Friday you worked in your fulltime job for Steve's dad barely making enough to make ends meet.<br>
<<set $WeekDay = "Saturday", $Day += 6>>
<<StressReturn 6>><<ProgressMonth>>
<<elseif $Player.employment == "PartTime">>
Monday to Thursday you worked part time for Steve's dad, at least it suppliments your photography earnings.<br>
<<set $WeekDay = "Friday", $Day += 5>>
<<StressReturn 5>><<ProgressMonth>>
<<elseif $Player.employment == "SelfEmployed">>
<<set $WeekDay = "Monday", $Day += 1>>
<<StressReturn>><<ProgressMonth>>
<</if>>
</fieldset>
<</switch>>
<br>
<<button "Continue...">><<if $CompetitionStage >= 0>><<goto "Competition">><<else>><<goto "Studio">><</if>><</button>>/% Reveal cards for model based on what shoot they are doing and gain income for the shoot.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<set _filenames = [0,1,2,3,4,5,6,7]>>
<<set _profit = 0>>
<table><tr>
/% 50% chance for extra card revealed with open personality %/
<<if $Bio[$ModelSelected].open[0] == 3 and random(0,2) == 2 >>
<<set _cardsrevealed = $ShootCardsRevealed + 1>>
<<else>>
<<set _cardsrevealed = $ShootCardsRevealed>>
<</if>>
<<set _tempDudPhoto = false>>
<<for _i = 0; _i < _cardsrevealed; _i++>><<if _filenames.length > 0>>
<td>
<<set _ModelImage = _filenames.pluck()>>
<<set _ModelFileImage = $Shoot[$ShootType].filenamecode + (1+_ModelImage)>>
<div class="image-stack">
<<set _TestValue = 99>>
<<set _TempMakeupArtist = "", _TempHairdresser = "">>
<<print "<<set _TestValue = $Bio[$ModelSelected]." + $ShootType + "[_ModelImage]>>">>
/% Hairdresser or makeupartist may provide another chance for new card %/
<<set _TempStaff = $Staff["Makeup Artist"]>>
<<if _TestValue != 0 and _TempStaff != "other" and _TempMakeupArtist == "" and _filenames.length > 0>>
<<set _ModelImage = _filenames.pluck()>>
<<set _ModelFileImage = $Shoot[$ShootType].filenamecode + (1+_ModelImage)>>
<<print "<<set _TestValue = $Bio[$ModelSelected]." + $ShootType + "[_ModelImage]>>">>
<<if _TestValue == 0>><<set _TempMakeupArtist = "<bl><i class='fsicon'> </i></bl> Your makeup artist $Bio['" + $Staff['Makeup Artist'] + "'].name has helped you get a new card.<br>">><</if>>
<</if>>
<<set _TempStaff = $Staff["Hairdresser"]>>
<<if _TestValue != 0 and _TempStaff != "other" and _TempHairdresser == "" and _filenames.length > 0>>
<<set _ModelImage = _filenames.pluck()>>
<<set _ModelFileImage = $Shoot[$ShootType].filenamecode + (1+_ModelImage)>>
<<print "<<set _TestValue = $Bio[$ModelSelected]." + $ShootType + "[_ModelImage]>>">>
<<if _TestValue == 0>><<set _TempHairdresser = "<bl><i class='fsicon'> </i></bl> Your hairdresser $Bio['" + $Staff['Hairdresser'] + "'].name has helped you get a new card.<br>">><</if>>
<</if>>
<<print "<<set _TestValue = $Bio[$ModelSelected]." + $ShootType + "[_ModelImage]>>">>
/% New Card %/
<<if _TestValue == 0>>
<div class="image-stack_item"><<print "<<capture _ModelFileImage>><<timed " + _i + "s>><<ImageShoot $ModelSelected _ModelFileImage>><</timed>><</capture>>">></div>
<<CardType ImageStackNew _ModelImage>>
<<set _profit += (($Shoot[$ShootType].incomebase * $Shoot[$ShootType].incomemodifier) + $ShootNewCardBonus)>>
/% Already found Card %/
<<else>>
<<set _tempResult = random(0,100)>>
<<if _tempResult <= $Player.stresslevel>>
/% Stress has caused a dud photo %/
<<set $chance to random(2)>>
<<if $chance is 0>>
<div class="image-stack_item" style="position: relative; -webkit-filter: saturate(80%) blur(2px); filter: saturate(80%) blur(2px)"><<print "<<capture _ModelFileImage>><<timed " + _i + "s>><<ImageShoot $ModelSelected _ModelFileImage>><</timed>><</capture>>">></div>
<<elseif $chance is 1>>
<div class="image-stack_item" style="position: relative; -webkit-filter: brightness(250%) saturate(20%); filter: brightness(250%) saturate(20%)"><<print "<<capture _ModelFileImage>><<timed " + _i + "s>><<ImageShoot $ModelSelected _ModelFileImage>><</timed>><</capture>>">></div>
<<elseif $chance is 2>>
<div class="image-stack_item" style="position: relative; -webkit-filter: sepia(40%) contrast(240%); filter: sepia(40%) contrast(240%)"><<print "<<capture _ModelFileImage>><<timed " + _i + "s>><<ImageShoot $ModelSelected _ModelFileImage>><</timed>><</capture>>">></div>
<</if>>
<div class="image-stack_item"><<print "<<timed " + _i + "s>><<ImageDud 'other' 'dud'>><</timed>>">></div>
<<set _tempDudPhoto = true>>
<<else>>
<div class="image-stack_item"><<print "<<capture _ModelFileImage>><<timed " + _i + "s>><<ImageShoot $ModelSelected _ModelFileImage>><</timed>><</capture>>">></div>
<<CardType ImageStackChange _ModelImage>>
<<set _profit += ($Shoot[$ShootType].incomebase * $Shoot[$ShootType].incomemodifier)>>
<</if>>
<</if>>
</div>
</td>
<</if>><</for>>
</tr></table>
<br>
<table><tr>
<td width="320px;">
<div style="max-width: 280px;">
<div class="paper">
<table>
<tr style="border-bottom: thin solid grey;"><th>Financial Summary</th><th></th></tr>
<<set _ShootExpense = 0>>
<<if $Upgrades.path["studiorent"].researched == true and $Upgrades.path["carportstudio"].researched == false>>
<<set _ShootExpense += 150>>
<<print "<tr><td>Studio Rental:</td><td><r><i class='fsicon'> </i></r> _ShootExpense</td></tr>">>
<</if>>
<tr><td>
Shoot expenses:</td><td> <r><i class='fsicon'> </i></r> $ShootCost
</td></tr>
<tr><td>
Shoot Income:</td><td> <g><i class='fsicon'> </i></g> <<set _profit = Math.round(_profit)>><<if $Bio[$ModelSelected].agree[0] == 3>> /* Agreeable models increase value of shoot by 10%*/<<set _profit += (_profit * .1)>><</if>><<PoiseBoost "_profit">><<set _profit = Math.round(_profit)>>_profit
</td></tr>
<tr style="border-bottom: double grey; border-top: thin solid grey;"><td>
<<set _ShootExpense += $ShootCost>>
<<set _profit = _profit - _ShootExpense>>
<<set _profit = Math.round(_profit)>>
Shoot Profit:</td><td><<if _profit >0>> <g><i class='fsicon'> </i></g><<else>><r><i class='fsicon'> </i></r><</if>> _profit
<<set $Player.money += _profit, $Player.incshoot += _profit>>
<<set $Player.money = Math.round($Player.money)>>
</td></tr>
</table>
</div></div>
</td>
<td style="vertical-align:bottom;">
/% Calculate if Studio Reputation has increased %/
<<CalculateReputation>>
/% Let Player know if staff have provided assistance during the shoot%/
_TempHairdresser
_TempMakeupArtist
/% Personality modifiers - general %/
<<if $Bio[$ModelSelected].agree[0] == 3>>
<g><i class='fsicon'> </i></g> $Bio[$ModelSelected].name's ability to adapt to your requests has improved the value of the shoot.<br>
<<set _profit += 100>>
<</if>>
<<if _cardsrevealed > $ShootCardsRevealed>>
<bl><i class='fsicon'> </i></bl> $Bio[$ModelSelected].name's openness has allowed for extra shots today.<br>
<</if>>
<<if _tempDudPhoto>>
<r><i class='fsicon'> </i></r> Your stress levels are leading to some poor quality photos.<br>
<</if>>
/% Check if set is completed then set for save in achievements %/
<<set _AchievementModel = false>>
<<print "<<set _testAchievement = recall('" + $ModelSelected + "')>>">>
<<if _testAchievement != true>>
<<if $Bio[$ModelSelected].normal.includes(0) or $Bio[$ModelSelected].lingerie.includes(0) or $Bio[$ModelSelected].topless.includes(0) or $Bio[$ModelSelected].nude.includes(0) >><<else>><<print "<<run memorize('" + $ModelSelected + "', true)>>">><bl><i class='fsicon'> </i></bl> Achievement: $Bio[$ModelSelected].name Set Completed!<br><</if>>
<</if>>
<<EventTest>>
<br><<button "End the day">><<if _AchievementModel>><</if>><<goto "EndDay">><</button>>
</td></tr>
</table><fieldset ><legend>Concubine:</legend>
<div class="concubine"><<Image concubine3.png >></div><br>
$Bio[$ModelSelected].namefull has now become one of your concubines.<br>
She will no longer take up space on your modelling roster and will service you in various ways at home.<br>
$Bio[$ModelSelected].name provides you with stress relief but will incure a weekly cost of <r><i class='fsicon'> </i></r> 1000 to maintain her lifestyle.<br>
</fieldset>
<<button "Back to Studio">><<goto "Studio">><</button>><<Image "other/title3.webp">><br>
<<print "<<run memorize('" + $PlayerDeception + "', true)>>">>
<fieldset class="titleabout">
<legend>VICTORY:</legend>
Congratulations! You have completed the $PlayerDeception deception.
Why not try another deception?<br><br>
<hilight>If you enjoyed the game, please consider supporting me so that games like this can exist and improve!</hilight><br><br>
</fieldset>
<<button "New Game">><<script>>state.restart();<<endscript>><</button>> | <<button "Continue Playing">><<goto "Studio">><</button>><<MenuOffice>>
<<if $MenuOfficeState == "status">>
<fieldset>
<legend>Employment Status:</legend>
<span class="buttonjob">
<<if $Player.employment == "FullTime">>
<<disable>><<button "<smaller><hilight>Full Time Job</hilight></smaller><br><a class='tooltip'><span>Provides $IncomeStream['FullTime'] income and 2 actions per week</span><i class='fsinfo'> </i></a> <i class='fsicon'> </i>" "Office">><</button>><</disable>>
<<else>>
<<button "<smaller>Full Time Job</smaller><br><a class='tooltip'><span>Provides $IncomeStream['FullTime'] income and 2 actions per week</span><i class='fsinfo'> </i></a>" "Office">><<set $Player.employment = "FullTime", $Player.income = $IncomeStream["FullTime"]>><</button>>
<</if>></span>
<span class="buttonjob">
<<if $Player.employment == "PartTime">>
<<disable>><<button "<smaller><hilight>Part Time Job</hilight></smaller><br><a class='tooltip'><span>Provides $IncomeStream['PartTime'] income and 3 actions per week</span><i class='fsinfo'> </i></a> <i class='fsicon'> </i>" "Office">><</button>><</disable>>
<<else>>
<<if $Upgrades.path["studiorent"].researched>>
<<button "<smaller>Part Time Job</smaller><br><a class='tooltip'><span>Provides $IncomeStream['PartTime'] income and 3 actions per week</span><i class='fsinfo'> </i></a>" "Office">><<set $Player.employment = "PartTime", $Player.income = $IncomeStream["PartTime"]>><</button>>
<<else>>
<span class="buttondisabled"><<disable>><<button "<smaller><grey>Part Time Job</grey></smaller><br><a class='tooltip'><span>Provides $IncomeStream['PartTime'] income and 3 actions per week.<br> You need your own equipment.</span><i class='fsinfo'> </i></a> <r><i class='fsicon'> </i></r>">><</button>><</disable>></span>
<</if>>
<</if>></span>
<span class="buttonjob">
<<if $Player.employment == "SelfEmployed">>
<<disable>><<button "<smaller><hilight>Self Employed</hilight></smaller><br><a class='tooltip'><span>Devote your time to photography, no second job but 5 actions per week.</span><i class='fsinfo'> </i></a> <i class='fsicon'> </i>" "Office">><</button>><</disable>>
<<else>>
<<if $Upgrades.path["suburbanstudio"].researched>>
<<button "<smaller>Self Employed</smaller><br><a class='tooltip'><span>Devote your time to photography, no second job but 5 actions per week.</span><i class='fsinfo'> </i></a>" "Office">><<set $Player.employment = "SelfEmployed", $Player.income = $IncomeStream['SelfEmployed']>><</button>>
<<else>>
<span class="buttondisabled"><<disable>><<button "<smaller><grey>Self Employed</grey></smaller><br><a class='tooltip'><span>Devote your time to photography, no second job but 5 actions per week.<br> You will need your own studio to facilitate this!</span><i class='fsinfo'> </i></a> <r><i class='fsicon'> </i></r>">><</button>><</disable>></span>
<</if>>
<</if>></span>
</fieldset>
<fieldset>
<legend>Reputation Status:</legend>
<<set $CurVal = $ReputationScore>><<set $MinVal = $ModelGain[($Player.reputation-1)]>><<set $MaxVal = $ModelGain[($Player.reputation)]>>
Your current reputation score of $ReputationScore will allow for $Player.reputation models.<br>
<<run Slider($CurVal, $MinVal, $MaxVal, "ReputationBar", true)>>
<div style="text-align:center">
Progress to next increment:
<span style="float:left;"><lgs>$MinVal</lgs></span>
<span style="float:right;"><lgs>$MaxVal</lgs></span>
</div>
<div id="horizontalhealthbarbkg" class="hzbarbkg"><div id="ReputationBar" class="hzbar"></div></div>
<<script>>$(document).one(':passagerender', function (ev) { "test:" +
Slider(State.variables.CurVal, State.variables.MinVal, State.variables.MaxVal, "ReputationBar", true, ev.content);
});<</script>>
<div class="segment">
<<set _segmentWidth = 99 / ($ModelGain.length)>>
<<set _marker = 0>>
<<for _i=0; _i < ($Player.reputation - 1); _i++>>
<<if _marker < 4>>
<<print "<div style='width:"+_segmentWidth+"%' class='gold'></div>">>
<<else>>
<<print "<div style='width:"+_segmentWidth+"%' class='marker'></div>">>
<<set _marker=0>>
<</if>>
<<set _marker++>>
<</for>>
<<for _i=_i; _i < $ModelGain.length; _i++>>
<<print "<div style='width:"+_segmentWidth+"%' class='grey'></div>">>
<</for>>
</div>
</fieldset>
<<DisplayStaff>>
<<if $Upgrades.path["lounge"].researched or $Upgrades.path["website"].researched or $Upgrades.path["dressingroom"].researched>>
<<DisplayServices>>
<</if>>
<<DebugCheck>>
<fieldset class="developer">
<legend>Developer note:</legend>
<<if $Debug>>
Debug mode is currently: <b>enabled</b><br>
<table width="100%"><tr><td>
<<button "Set cash to 1m">><<set $Player.money = 1000000>><<script>>Engine.play("Office");<</script>><</button>></td>
<td><<listbox "_ModelAdd" autoselect>><<optionsfrom $Bios>><</listbox>><br><<button "Add Model">>
<<set $Models.push(_ModelAdd)>>
<<set $Bios.delete(_ModelAdd)>>
<<AddRelationshipEvents _ModelAdd>><<script>>Engine.play("Office");<</script>><</button>>
</td></tr></table>
<<button "Exit Debug Mode">><<set $DebugPasswordEntered = "">><<script>>Engine.play("Office");<</script>><</button>>
<<else>>
Debug mode is currently: <b>disabled</b>.
<br>To enable <a class="tooltip"><span>Debug mode is NOT a "cheat mode". It is intended solely for development purposes.
<br>The game is not designed to be played with debug mode on and you can easily break the game.</span>debug mode</a>, enter the password:
<<textbox "$DebugPasswordEntered" "Enter password." "Office">>
<</if>>
</fieldset>
<</if>>
<<if $MenuOfficeState == "contacts">>
<fieldset>
<legend>Local Businesses:</legend>
As you learn more information about the managers of the local businesses, their preferences can be viewed here.
<<if $CompetitionStage == 1>><br>The judges for this month's competition are, <hilight>$CompetitionJudges[0]</hilight>, <hilight>$CompetitionJudges[1]</hilight> and <hilight>$CompetitionJudges[2]</hilight>.<</if>>
<<set _j = 0>>
<<for _i to 0; _i < ($JudgesAvailable.length/4); _i++>>
<table class="table-judges" width="100%"><tr>
<<set _k = (4 * _i)>>
<<for _l to 0; _l < 4; _l++>>
<<set _tempJudge = $JudgesAvailable[_k]>>
<<set _tempCompany = $Judges[_tempJudge].company, _tempCompany = _tempCompany.replaceAll(" ","")>>
<td width="100px"><div class="smlimg"><<ImageTable "companies" _tempCompany>></div></td>
<td width="200px"><b>_tempJudge</b><br>
<<for _j to 1; _j < 4; _j++>>
<<if $Judges[_tempJudge].preferences[_j].known>>
<<if $Judges[_tempJudge].preferences[_j].type == "hair[0]" or $Judges[_tempJudge].preferences[_j].type == "hair[1]">>
_j) Likes $Judges[_tempJudge].preferences[_j].criteria hair<br>
<<elseif $Judges[_tempJudge].preferences[_j].type == "Personality">>
<<if $Judges[_tempJudge].preferences[_j].criteria == "extra">>
_j) Enjoys girls with an extraverted personality type<br>
<<elseif $Judges[_tempJudge].preferences[_j].criteria == "agree">>
_j) Enjoys girls with an agreeable personality type<br>
<<elseif $Judges[_tempJudge].preferences[_j].criteria == "open">>
_j) Enjoys girls who's personality is very open<br>
<</if>>
<<elseif $Judges[_tempJudge].preferences[_j].type == "cup">>
_j) Likes girls with $Judges[_tempJudge].preferences[_j].criteria cup breasts<br>
<<elseif $Judges[_tempJudge].preferences[_j].type == "eyes">>
_j) Likes girls with $Judges[_tempJudge].preferences[_j].criteria eyes<br>
<<elseif $Judges[_tempJudge].preferences[_j].type == "age" and $Judges[_tempJudge].preferences[_j].range == "<=">>
_j) Likes young girls ($Judges[_tempJudge].preferences[_j].criteria years or less)<br>
<<elseif $Judges[_tempJudge].preferences[_j].type == "height" and $Judges[_tempJudge].preferences[_j].range == "<=">>
_j) Likes short girls ($Judges[_tempJudge].preferences[_j].criteria cm or less)<br>
<<elseif $Judges[_tempJudge].preferences[_j].type == "height" and $Judges[_tempJudge].preferences[_j].range == ">=">>
_j) Likes tall girls ($Judges[_tempJudge].preferences[_j].criteria cm or taller)<br>
<<elseif $Judges[_tempJudge].preferences[_j].type == "tattoos">>
_j) Does not like girls with tattoos<br>
<<elseif $Judges[_tempJudge].preferences[_j].type == "waist" and $Judges[_tempJudge].preferences[_j].range == "<=">>
_j)Likes girls with very tiny waists ($Judges[_tempJudge].preferences[_j].criteria cm or less)<br>
<</if>>
<<else>>
<grey>_j) Unknown</grey><br>
<</if>>
<</for>>
<<set _k += 1>>
</td>
<</for>>
</tr></table>
<</for>>
</fieldset>
<</if>>
<<if $MenuOfficeState == "concubine">>
<fieldset>
<legend>Concubines:</legend>
<<ConcubineDisplay>>
</fieldset>
<</if>>
<<if $MenuOfficeState == "deception">>
<fieldset>
<legend>Deception Progression:</legend>
<b>Deception goals:</b><br>
<<DeceptionGoals $PlayerDeception>>
</fieldset>
<</if>>
<<if $MenuOfficeState == "settings">>
<br><br>
<<button "KEY">><<goto "Key">><</button>> - Key for meanings for different icons.<br>
<<button "CUSTOMISE">><<goto "Customise">><</button>> - Info on the editable lsm files.<br>
/%%%% Model List %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<if $Debug>>
<hr>
<div class="image-grid2">
<<for _i to 0; _i < $Bios.length; _i++>>
<<set _id to _i >>
<<set _prop = $ImgDir + $Bios[_id] + "/portrait.webp">>
<<print "[img[" + _prop + "]]">>
<</for>>
<<for _i to 0; _i < $Models.length; _i++>>
<<set _id to _i >>
<<set _prop = $ImgDir + $Models[_id] + "/portrait.webp">>
<<print "[img[" + _prop + "]]">>
<</for>>
<<for _i to 0; _i < $AntagonistModels.length; _i++>>
<<set _id to _i >>
<<set _prop = $ImgDir + $AntagonistModels[_id] + "/portrait.webp">>
<<print "[img[" + _prop + "]]">>
<</for>>
</div>
<div class="image-grid">
<<set _j = 1>>
<<for _i to 0; _i < 616; _i++>>
<<set _id to _i >>
<<set _id to random(0,($Bios.length-1)) >>
<<set _prop = $ImgDir + $Bios[_id] + "/" + "0" + random(1,4) + "0" + random(1,8) + ".webp">>
<<if _j == 3 or _j == 17>>
<<print "<img class='image-grid-row2 image-grid-col2' src='" + _prop + "'>">>
<<elseif _j == 6 or _j == 12>>
<<print "<img class='image-grid-row2' src='" + _prop + "'>">>
<<else>>
<<print "<img class='image-grid-size' src='" + _prop + "'>">>
<<if _j == 23>><<set _j = 1>><</if>>
<</if>>
<<set _j++>>
<</for>>
</div>
<</if>>
<</if>><<widget DisplayStaff>>
<fieldset>
<legend>Staff:</legend>
<<if $Upgrades.path["studiorent"].researched>>
Note:
<br>* If you are self employed models that you take on as staff will no longer have time to do photoshoots.
<br>* Choose carefully, once hired, you can not replace or fire staff members.
<br>
<<set _StaffAvailable = []>>
<<for _j to 0; _j lt $Models.length; _j++>>
<<if $Bio[$Models[_j]].extra[0] < 3>>
<<if $Staff["Receptionist"] != $Models[_j] and $Staff["Assistant"] != $Models[_j] and $Staff["Makeup Artist"] != $Models[_j] and $Staff["Hairdresser"] != $Models[_j]>>
<<set _StaffAvailable.push($Models[_j])>>
<</if>>
<</if>>
<</for>>
<table>
<tr><td valign="top">
<<if $Upgrades.path["assistant"].researched>>
<b>Assistant</b><br>
<<print "<<ImageModel $Staff['Assistant'] 'portrait'>>">><br>
<<if $Staff["Assistant"] == "other">>
<<if _StaffAvailable.length > 0 and $Upgrades.path["assistant"].researched>><<listbox "_StaffAssistant">><<optionsfrom _StaffAvailable>><</listbox>><br>
<<button "Assign">><<set $Staff.Assistant = _StaffAssistant>>
<<ShootModifiers 0.2 0.2 0.2 0.2>>
<<goto Office>><</button>><</if>>
<<else>>
<<print "$Bio." + $Staff['Assistant'] + ".namefull<br>">>
<</if>>
<</if>>
</td><td valign="top">
<<if $Upgrades.path["receptionist"].researched>>
<b>Receptionist</b><br>
<<print "<<ImageModel $Staff['Receptionist'] 'portrait'>>">><br>
<<if $Staff["Receptionist"] == "other">>
<<if _StaffAvailable.length > 0 and $Upgrades.path["receptionist"].researched>><<listbox "_StaffReceptionist">><<optionsfrom _StaffAvailable>><</listbox>><br>
<<button "Assign">><<set $Staff.Receptionist = _StaffReceptionist>><<set $Player.modelsmax += 6>>
<<print "<<if $Bio['" + _StaffReceptionist + "'].open[0] == 3>><<set $AuditionSize += 1>><<elseif $Bio['" + _StaffReceptionist + "'].open[0] == 1>><<set $AuditionCost -= 250>><</if>>
<<if $Bio['" + _StaffReceptionist + "'].agree[0] == 3>><<set $AuditionCost -= 250>><<elseif $Bio['" + _StaffReceptionist + "'].agree[0] == 1>><<set $AuditionSize += 1>><</if>>">>
<<set $ModelAuditions = true>>
<<goto Office>><</button>><</if>>
<<else>>
<<print "$Bio." + $Staff['Receptionist'] + ".namefull<br>">>
<<ApplyReceptionist>>
<</if>>
<</if>>
</td><td valign="top">
<<if $Upgrades.path["citystudio"].researched>>
<b>Makeup Artist</b><br>
<<print "<<ImageModel '" + $Staff["Makeup Artist"] + "' 'portrait'>>">><br>
<<if $Staff["Makeup Artist"] == "other">>
<<if _StaffAvailable.length > 0 and $Upgrades.path["makeupartist"].researched>><<listbox "_StaffMakeupArtist">><<optionsfrom _StaffAvailable>><</listbox>><br>
<<button "Assign">><<set $Staff["Makeup Artist"] = _StaffMakeupArtist>>
<<ShootModifiers 0.2 0.2 0.2 0.2>>
<<goto Office>><</button>><</if>>
<<else>>
<<print "$Bio." + $Staff['Makeup Artist'] + ".namefull<br>">>
<</if>>
<</if>>
</td><td valign="top">
<<if $Upgrades.path["citystudio"].researched>>
<b>Hairdresser</b><br>
<<print "<<ImageModel $Staff['Hairdresser'] 'portrait'>>">><br>
<<if $Staff["Hairdresser"] == "other">>
<<if _StaffAvailable.length > 0 and $Upgrades.path["hairdresser"].researched>><<listbox "_StaffHairdresser">><<optionsfrom _StaffAvailable>><</listbox>><br><<button "Assign">><<set $Staff.Hairdresser = _StaffHairdresser>>
<<ShootModifiers 0.2 0.2 0.2 0.2>>
<<goto Office>><</button>><</if>><br>
<<else>>
<<print "$Bio." + $Staff['Hairdresser'] + ".namefull<br>">>
<</if>>
<</if>>
</td></tr>
</table>
<<else>>
You currently have no capacity to manage staff when you are working from $Antagonist.name's studio.<br>
You will need to at least rent some studio space before you can take on staff.<br>
<</if>>
</fieldset>
<</widget>>
<<widget ApplyReceptionist>>
<<CheckboxPlus "$ModelAuditions" "Hold Auditions">><br>
Audition Cost: <r><i class='fsicon'> </i> $AuditionCost</r><br>
Audition Size: $AuditionSize
<<print "<<if $Bio." + $Staff['Receptionist'] + ".agree[0] == 2>><br>Preview Information Available<</if>>">>
<</widget>>
<<widget ShootModifiers>>
<<set $Shoot["normal"].incomemodifier += $args[0], $Shoot["lingerie"].incomemodifier += $args[1], $Shoot["topless"].incomemodifier += $args[2], $Shoot["nude"].incomemodifier += $args[3]>>
<</widget>>
<<widget ShootBaseMod>>
<<set $Shoot["normal"].incomebase += $args[0], $Shoot["lingerie"].incomebase += $args[1], $Shoot["topless"].incomebase += $args[2], $Shoot["nude"].incomebase += $args[3]>>
<</widget>>
<<widget ConcubineDisplay>>
<<if $Concubines.length == 0>>
<div class="concubine"><<Image concubine2.png >></div>
<<print "You do not yet have any concubines.<br> To concubine a model the model needs to have:<ul><li>Very high confidence (40+)</li><li>Model Affection: Smitten</li></ul><r>Each model you concubine will cost you $1000 / week.</r>">>
<<else>>
<<for _j to 0; _j lt $Concubines.length; _j++>>
<fieldset>
<table><tr>
<td width="250">
<<ImageModel $Concubines[_j] "portrait">><br>
</td><td>
<<print "$Bio['"+$Concubines[_j]+"'].namefull<br>">>
<<print "<lgs>$Bio['"+$Concubines[_j]+"'].availability.state</lgs>">>
</td><td>
<<if $Bio[$Concubines[_j]].availability.weeks == 0>><center>
<br>You may assign one of the following titles:<br>
<<capture _j>>
<<button "<a class='tooltip'><span>Increases stress reduction</span><i class='fsinfo'> </i></a> Lady of<br>Graceful Beauty">><<set $Bio[$Concubines[_j]].availability.weeks = -1>><<set $Bio[$Concubines[_j]].availability.state = "Lady of Graceful Beauty">><<goto "Office">><</button>>
<<button "<a class='tooltip'><span>Increases your fame</span><i class='fsinfo'> </i></a> Lady of<br>Lovely Countenance">><<set $Bio[$Concubines[_j]].availability.weeks = -1>><<set $Bio[$Concubines[_j]].availability.state = "Lady of Lovely Countenance">><<goto "Office">><</button>>
<<button "<a class='tooltip'><span>Removes her weekly cost</span><i class='fsinfo'> </i></a> Lady of<br>Complete Deportment">><<set $Bio[$Concubines[_j]].availability.weeks = -1>><<set $Bio[$Concubines[_j]].availability.state = "Lady of Complete Deportment">><<goto "Office">><</button>><br>
<</capture>></center>
<</if>>
</td></tr><tr><td colspan="3">
<<ConCardList "normal" "010" $Concubines[_j]>> | <<ConCardList "lingerie" "020" $Concubines[_j]>><br>
<<ConCardList "topless" "030" $Concubines[_j]>> | <<ConCardList "nude" "040" $Concubines[_j]>><br>
</td>
</tr></table>
</fieldset>
<</for>>
<</if>>
<</widget>>
<<widget DeceptionGoals>>
<<print "<<set _tempDeception = $Deceptions['" + $args[0] + "']>>">>
<<print _tempDeception.description + "<br>">>
<<set _DeceptionsObtained = 0>>
<<for _i to 0; _i < (_tempDeception.goals.length); _i++>>
<<if _tempDeception.goals[_i][0] == "antagonist">>
<r><i class='fsicon'> </i></r> Complete the Nemesist quest.<br>
<<elseif _tempDeception.goals[_i][0] == "models">>
<<if $ModelsLeft == 0>>
<g><i class='fsicon'> </i></g> Have no models breakdown and quit your services.<br>
<<else>>
<r>$ModelsLeft model has had a breakdown and left your service meaning you are no longer able to complete this deception.</r>
<</if>>
<<elseif _tempDeception.goals[_i][0] == "home">>
<<set _tempValue = $Upgrades.path[_tempDeception.goals[_i][1]]>>
<<if _tempValue.researched == true>>
<<print "<g><i class='fsicon'> </i></g> Own a _tempValue.name residence.<br>">>
<<set _DeceptionsObtained += 1>>
<<else>>
<<print "<r><i class='fsicon'> </i></r> Own a _tempValue.name residence.<br>">>
<</if>>
<<elseif _tempDeception.goals[_i][0] == "studio">>
<<set _tempValue = $Upgrades.path[_tempDeception.goals[_i][1]]>>
<<if _tempValue.researched == true>>
<<print "<g><i class='fsicon'> </i></g> Own a _tempValue.name.<br>">>
<<set _DeceptionsObtained += 1>>
<<else>>
<<print "<r><i class='fsicon'> </i></r> Own a _tempValue.name.<br>">>
<</if>>
<<elseif _tempDeception.goals[_i][0] == "money">>
<<if $Player.money >= _tempDeception.goals[_i][1]>>
<<print "<g><i class='fsicon'> </i></g> Acquire " + _tempDeception.goals[_i][1] + " wealth.<br>">>
<<set _DeceptionsObtained += 1>>
<<else>>
<<print "<r><i class='fsicon'> </i></r> Acquire " + _tempDeception.goals[_i][1] + " wealth.<br>">>
<</if>>
<<elseif _tempDeception.goals[_i][0] == "stress">>
<<if $Player.stresslevel < _tempDeception.goals[_i][1]>>
<<print "<g><i class='fsicon'> </i></g> Have less than " + _tempDeception.goals[_i][1] + "% stress.<br>">>
<<set _DeceptionsObtained += 1>>
<<else>>
<<print "<r><i class='fsicon'> </i></r> Have less than " + _tempDeception.goals[_i][1] + "% stress.<br>">>
<</if>>
<<elseif _tempDeception.goals[_i][0] == "cards">>
<<set _tempCount = 0>>
<<for _j to 0; _j < $Models.length; _j++>>
<<set _tempModel = $Models[_j]>>
<<if $Bio[_tempModel].normal.includes(0) or $Bio[_tempModel].lingerie.includes(0) or $Bio[_tempModel].topless.includes(0) or $Bio[_tempModel].nude.includes(0) >><<else>><<set _tempCount += 1>><</if>>
<</for>>
<<for _j to 0; _j < $Concubines.length; _j++>>
<<set _tempModel = $Concubines[_j]>>
<<if $Bio[_tempModel].normal.includes(0) or $Bio[_tempModel].lingerie.includes(0) or $Bio[_tempModel].topless.includes(0) or $Bio[_tempModel].nude.includes(0) >><<else>><<set _tempCount += 1>><</if>>
<</for>> <<if _tempCount >= _tempDeception.goals[_i][1]>>
<<print "<g><i class='fsicon'> </i></g> Unlock all of the cards for " + _tempDeception.goals[_i][1] + " models.<br>">>
<<set _DeceptionsObtained += 1>>
<<else>>
<<print "<r><i class='fsicon'> </i></r> Unlock all of the cards for " + _tempDeception.goals[_i][1] + " models. (" + _tempCount + "/" + _tempDeception.goals[_i][1] + ")<br>">>
<</if>>
<<elseif _tempDeception.goals[_i][0] == "competition">>
<<set _tempCount = 0>>
<<for _j to 0; _j < $Models.length; _j++>>
<<set _tempModel = $Models[_j]>>
<<if $Bio[_tempModel].competition == true>><<set _tempCount += 1>><</if>>
<</for>>
<<if _tempCount >= _tempDeception.goals[_i][1]>>
<<print "<g><i class='fsicon'> </i></g> Have " + _tempDeception.goals[_i][1] + " different models win the monthly competition.<br>">>
<<set _DeceptionsObtained += 1>>
<<else>>
<<print "<r><i class='fsicon'> </i></r> Have " + _tempDeception.goals[_i][1] + " different models win the monthly competition. (" + _tempCount + "/" + _tempDeception.goals[_i][1] + ")<br>">>
<</if>>
<<elseif _tempDeception.goals[_i][0] == "concubine">>
<<if $Concubines.length >= _tempDeception.goals[_i][1]>>
<<print "<g><i class='fsicon'> </i></g> Have " + _tempDeception.goals[_i][1] + " models as concubines.<br>">>
<<set _DeceptionsObtained += 1>>
<<else>>
<<print "<r><i class='fsicon'> </i></r> Have " + _tempDeception.goals[_i][1] + " models as concubines. (" + $Concubines.length + "/" + _tempDeception.goals[_i][1] + ")<br>">>
<</if>>
<</if>>
<</for>>
<<if _DeceptionsObtained == _tempDeception.goals.length>><<button "Claim Victory">><<goto "Victory">><</button>><</if>>
<</widget>>
<<widget MenuOffice>>
/% GOTO OFFICE SCREEN %/
<<button "Return to Studio">><<set $MenuOfficeState = "status">><<goto "Studio">><</button>>
<<if $MenuOfficeState == "status">>
<<disable>><<button "<div class='disable'>Status</div>">><</button>><</disable>>
<<else>>
<<button "Status">><<set $MenuOfficeState = "status">><<goto "Office">><</button>>
<</if>>
<<if $MenuOfficeState == "contacts">>
<<disable>><<button "<div class='disable'>Local Contacts</div>">><</button>><</disable>>
<<else>>
<<button "Local Contacts">><<set $MenuOfficeState = "contacts">><<goto "Office">><</button>>
<</if>>
<<if $MenuOfficeState == "concubine">>
<<disable>><<button "<div class='disable'>Concubine</div>">><</button>><</disable>>
<<else>>
<<if $Upgrades.path["concubine"].researched>>
<<button "Concubine">><<set $MenuOfficeState = "concubine">><<goto "Office">><</button>>
<</if>>
<</if>>
<<if $MenuOfficeState == "deception">>
<<disable>><<button "<div class='disable'>Deception</div>">><</button>><</disable>>
<<else>>
<<button "Deception">><<set $MenuOfficeState = "deception">><<goto "Office">><</button>>
<</if>>
<<if $MenuOfficeState == "settings">>
<<disable>><<button "<div class='disable'>Settings</div>">><</button>><</disable>>
<<else>>
<<button "Settings">><<set $MenuOfficeState = "settings">><<goto "Office">><</button>>
<</if>>
<</widget>>
<<widget DisplayServices>>
<fieldset>
<legend>Studio Services:</legend>
You can spend an extra <r><i class='fsicon'> </i> <span id="service-pool">$servicePool</span></r> on services this month.
<<numberpool '$servicePool'>>
<<if $Upgrades.path["lounge"].researched>>
<<numberslider "$loungeLoadout" $loungeLoadout 0 $loungeMax $serviceIncrement>> <r><i class='fsicon'> </i></r> each week to maintain the lounge facilities.<br>
<</if>>
<<if $Upgrades.path["website"].researched>>
<<numberslider "$websiteLoadout" $websiteLoadout 0 $websiteMax $serviceIncrement>> <r><i class='fsicon'> </i></r> - Your users will cover these costs each week.<br>
<</if>>
<<if $Upgrades.path["dressingroom"].researched>>
<<numberslider "$dressingroomLoadout" $dressingroomLoadout 0 $dressingroomMax $serviceIncrement>> <r><i class='fsicon'> </i></r> each week to stock the dressingroom.<br>
<</if>>
<<onchange>><<replace "#service-pool">>$servicePool<</replace>><<replace "#service-details">><<ServiceDetail>><</replace>>
<</numberpool>>
<br>
<b>Current Benefits:</b><br>
<span id="service-details"><<ServiceDetail>></span>
</fieldset>
<</widget>>
<<widget ServiceDetail>>
<<set _benefit = 0>>
<<if $loungeLoadout > 0>>
<<set _benefit = (( $loungeLoadout / 500)* 2)>>
<<print "* " + _benefit + "% extra chance to get relationship cards during photoshoots">><br>
<</if>>
<<if $websiteLoadout > 0>>
<<set _benefit = (( $websiteLoadout / 500)* 2)>>
<<print "* Gain <g><i class='fsicon'> </i> " + _benefit + "</g> * [model popularity] each week for each model who has a complete set">><br>
<<set _benefit = (( $websiteLoadout / 500)* 2)>>
<<print "* " + _benefit + "% extra chance to get popularity cards during photoshoots">><br>
<</if>>
<<if $dressingroomLoadout > 0>>
<<set _benefit = ( $dressingroomLoadout / 500)>>
<<print "* 0." + _benefit + "% extra income globally for every model">><br>
<<set _benefit = (( $dressingroomLoadout / 500)* 2)>>
<<print "* " + _benefit + "% extra chance to get poise cards during photoshoots">><br>
<</if>>
<<if _benefit == 0>>None.<</if>>
<</widget>><fieldset>
<legend>Upgrades</legend>
<table class="table-upgrades">
<tr>
<td><span class="buttonjob"><<if $Player.employment == "FullTime">><<disable>><<button "<smaller><hilight>Full Time Job</hilight></smaller><br><a class='tooltip'><span>Provides $IncomeStream['FullTime'] income and 2 actions per week</span><i class='fsinfo'> </i></a> <i class='fsicon'> </i>" "Upgrades">><</button>><</disable>>
<<else>><<button "<smaller>Full Time Job</smaller><br><a class='tooltip'><span>Provides $IncomeStream['FullTime'] income and 2 actions per week</span><i class='fsinfo'> </i></a>" "Upgrades">><<set $Player.employment = "FullTime", $Player.incwork = $IncomeStream["FullTime"]>><</button>><</if>></span></td><td><<Image arrowl.png>></td>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["equipemp"]>><<UpgradeDisplay _UpgradeName>></span></td><td><<Image arrowr.png>></td>
<td><<set _UpgradeName = $Upgrades.path["equipown"]>><<UpgradeDisplay _UpgradeName>></td><td><<Image empty.png>></td>
<td><span class="buttonhome"><<set _UpgradeName = $Upgrades.path["cheapapartment"]>><<UpgradeDisplay _UpgradeName>></span></td>
</tr><tr>
<td></td><td></td><td></td><td><<Image arrowdl.png>></td><td></td><td></td><td><<Image arrowd1.png>></td>
</tr><tr>
<td><span class="buttonjob">
<<if $Player.employment == "PartTime">>
<<disable>><<button "<smaller><hilight>Part Time Job</hilight></smaller><br><a class='tooltip'><span>Provides $IncomeStream['PartTime'] income and 3 actions per week</span><i class='fsinfo'> </i></a> <i class='fsicon'> </i>" "Upgrades">><</button>><</disable>>
<<else>>
<<if $Upgrades.path["studiorent"].researched>>
<<button "<smaller>Part Time Job</smaller><br><a class='tooltip'><span>Provides $IncomeStream['PartTime'] income and 3 actions per week</span><i class='fsinfo'> </i></a>" "Upgrades">><<set $Player.employment = "PartTime", $Player.incwork = $IncomeStream["PartTime"]>><</button>>
<<else>>
<span class="buttondisabled"><<disable>><<button "<smaller><grey>Part Time Job</grey></smaller><br><a class='tooltip'><span>Provides $IncomeStream['PartTime'] income and 3 actions per week.<br> You need your own equipment.</span><i class='fsinfo'> </i></a> <r><i class='fsicon'> </i></r>">><</button>><</disable>></span>
<</if>>
<</if>></span></td><td><<Image arrowl.png>></td>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["studiorent"]>><<UpgradeDisplay _UpgradeName>></span></td><td><<Image arrowr.png>></td>
<td><<set _UpgradeName = $Upgrades.path["flash"]>><<UpgradeDisplay _UpgradeName>></td><td></td>
<td><span class="buttonhome"><<set _UpgradeName = $Upgrades.path["apartment"]>><<UpgradeDisplay _UpgradeName>></span></td>
</tr><tr>
<td></td><td></td><td></td><td></td><td></td><td></td><td><<Image arrowd2.png>></td>
</tr><tr>
<td><span class="buttonstaff"><<set _UpgradeName = $Upgrades.path["assistant"]>><<UpgradeDisplay _UpgradeName>></span></td><td><<Image arrowl.png>></td>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["carportstudio"]>><<UpgradeDisplay _UpgradeName>></span></td><td><<Image arrowr.png>></td>
<td><<set _UpgradeName = $Upgrades.path["equipbackup"]>><<UpgradeDisplay _UpgradeName>></td><td></td>
<td><span class="buttonhome"><<set _UpgradeName = $Upgrades.path["smallhome"]>><<UpgradeDisplay _UpgradeName>></span></td>
</tr><tr>
<td></td><td></td><td><<Image arrowd1.png>></td><td></td><td></td><td></td><td><<Image arrowd1.png>></td>
</tr><tr>
<td><span class="buttonstaff"><<set _UpgradeName = $Upgrades.path["receptionist"]>><<UpgradeDisplay _UpgradeName>></span></td><td><<Image arrowl.png>></td>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["smallsuburbanstudio"]>><<UpgradeDisplay _UpgradeName>></span></td><td><<Image arrowr.png>></td>
<td><<set _UpgradeName = $Upgrades.path["equiplighting"]>><<UpgradeDisplay _UpgradeName>></td><td></td>
<td><span class="buttonhome"><<set _UpgradeName = $Upgrades.path["mediumhome"]>><<UpgradeDisplay _UpgradeName>></span></td>
</tr><tr>
<td></td><td></td><td><<Image arrowd2.png>></td><td></td><td></td><td></td><td><<Image arrowd2.png>></td>
</tr><tr>
<td><span class="buttonjob">
<<if $Player.employment == "SelfEmployed">>
<<disable>><<button "<smaller><hilight>Self Employed</hilight></smaller><br><a class='tooltip'><span>Devote your time to photography, no second job but 5 actions per week.</span><i class='fsinfo'> </i></a> <i class='fsicon'> </i>" "Upgrades">><</button>><</disable>>
<<else>>
<<if $Upgrades.path["suburbanstudio"].researched>>
<<button "<smaller>Self Employed</smaller><br><a class='tooltip'><span>Devote your time to photography, no second job but 5 actions per week.</span><i class='fsinfo'> </i></a>" "Upgrades">><<set $Player.employment = "SelfEmployed", $Player.incwork = $IncomeStream['SelfEmployed']>><</button>>
<<else>>
<span class="buttondisabled"><<disable>><<button "<smaller><grey>Self Employed</grey></smaller><br><a class='tooltip'><span>Devote your time to photography, no second job but 5 actions per week.<br> You will need your own studio to facilitate this!</span><i class='fsinfo'> </i></a> <r><i class='fsicon'> </i></r>">><</button>><</disable>></span>
<</if>>
<</if>></span></td><td><<Image arrowl.png>></td>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["suburbanstudio"]>><<UpgradeDisplay _UpgradeName>></span></td><td><<Image arrowr.png>></td>
<td><<set _UpgradeName = $Upgrades.path["backdrops"]>><<UpgradeDisplay _UpgradeName>></td><td></td>
<td><span class="buttonhome"><<set _UpgradeName = $Upgrades.path["opulenthome"]>><<UpgradeDisplay _UpgradeName>></span></td>
</tr><tr>
<td></td><td></td><td><<Image arrowd1.png>></td><td></td><td></td><td></td><td><<Image arrowd1.png>></td>
</tr><tr>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["lounge"]>><<UpgradeDisplay _UpgradeName>></span></td><td><<Image arrowl.png>></td>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["citystudio"]>><<UpgradeDisplay _UpgradeName>></span></td><td><<Image arrowr.png>></td>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["website"]>><<UpgradeDisplay _UpgradeName>></span></td><td></td>
<td><span class="buttonhome"><<set _UpgradeName = $Upgrades.path["citypenthouse"]>><<UpgradeDisplay _UpgradeName>></span></td>
</tr><tr>
<td></td><td><<Image arrowdl.png>></td><td><<Image arrowd2.png>></td><td></td><td></td><td><<Image arrowdl.png>></td><td><<Image arrowd2.png>></td>
</tr><tr>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["dressingroom"]>><<UpgradeDisplay _UpgradeName>></span></td><td></td>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["penthousestudio"]>><<UpgradeDisplay _UpgradeName>></span></td><td></td>
<td><span class="buttonstaff"><<set _UpgradeName = $Upgrades.path["concubine"]>><<UpgradeDisplay _UpgradeName>></span></td><td></td>
<td><span class="buttonhome"><<set _UpgradeName = $Upgrades.path["mansion"]>><<UpgradeDisplay _UpgradeName>></span></td>
</tr><tr>
<td><<Image arrowd1.png>></td><td></td><td><<Image arrowd1.png>></td><td><<Image arrowdr.png>></td><td></td><td></td><td><<Image arrowd1.png>></td>
</tr><tr>
<td><span class="buttonstaff"><<set _UpgradeName = $Upgrades.path["hairdresser"]>><<UpgradeDisplay _UpgradeName>></span></td><td><<Image arrowr.png>></td>
<td><span class="buttonstaff"><<set _UpgradeName = $Upgrades.path["makeupartist"]>><<UpgradeDisplay _UpgradeName>></span></td><td></td>
<td><span class="buttonstudio"><<set _UpgradeName = $Upgrades.path["luxurypenthouse"]>><<UpgradeDisplay _UpgradeName>></span></td><td></td>
<td><span class="buttonhome"><<set _UpgradeName = $Upgrades.path["manor"]>><<UpgradeDisplay _UpgradeName>></span></td>
</tr>
</table>
</fieldset>
<<button "Return to Studio">><<goto "Studio">><</button>><<widget UpgradeDisplay>>
<<if $args[0].researched == true>>
<<UpgradeAcquired $args[0]>> /% Item has been researched and is available %/
<<else>>
/% First check if it is a researchable item %/
<<set _UpgradeDisplay = true, _RequiresName = "">>
<<UpgradeUnlocked $args[0]>>
<<if _UpgradeDisplay == true>>
<<if $Player.money >= $args[0].cost>>
<<button "<smaller>$args[0].name</smaller><br><a class='tooltip'><span>$args[0].tooltip</span><i class='fsinfo'> </i></a> <rl><i class='fsicon'> </i> $args[0].cost</rl>">>
<<set $Player.money -= $args[0].cost, $Player.expupgrade -= $args[0].cost, $args[0].researched = true>>
<<if $args[0].name == $Upgrades.path["flash"].name>>
<<ShootBaseMod 25 10 0 0>>
<<elseif $args[0].name == $Upgrades.path["equiplighting"].name>>
<<ShootModifiers 0.25 0.25 0.25 0.25>>
<<elseif $args[0].name == $Upgrades.path["backdrops"].name>>
<<ShootModifiers 0.33 0.33 0.33 0.33>>
<</if>>
/% Studio upgrades %/
<<if $args[0].name == $Upgrades.path["luxurypenthouse"].name>>
<<set $Player.modelsmax += 3>>
<<ShootModifiers 1 1 1 1>>
<<elseif $args[0].name == $Upgrades.path["penthousestudio"].name>>
<<set $Player.modelsmax += 3>>
<<ShootModifiers 0.5 0.5 0.5 0.5>>
<<elseif $args[0].name == $Upgrades.path["citystudio"].name>>
<<set $Player.modelsmax += 3>>
<<ShootModifiers 0.25 0.25 0.25 0.25>>
<<elseif $args[0].name == $Upgrades.path["suburbanstudio"].name>>
<<set $Player.modelsmax += 4>>
<<elseif $args[0].name == $Upgrades.path["smallsuburbanstudio"].name>>
<<set $Player.modelsmax += 3>>
<<ShootModifiers 0.25 0.25 0.25 0.25>>
<<elseif $args[0].name == $Upgrades.path["carportstudio"].name>>
<<set $Player.modelsmax += 1, $AntagonistStory[0] = 2, $AntagonistStory[1] = 1>>
<<elseif $args[0].name == $Upgrades.path["studiorent"].name>>
<<set $Player.modelsmax += 3>>
<<elseif $args[0].name == $Upgrades.path["equipown"].name>>
<<set $Player.modelsmax += 1, $AntagonistStory[0] = 1, $AntagonistStory[1] = 1>>
<</if>>
/% Home upgrades %/
<<if $args[0].name == $Upgrades.path["manor"].name>>
<<set $Player.homelevel += 1, $Player.homepointsmodifier += 1>>
<<elseif $args[0].name == $Upgrades.path["mansion"].name>>
<<set $Player.homelevel += 1, $Player.homepointsmodifier += 0.5>>
<<elseif $args[0].name == $Upgrades.path["citypenthouse"].name>>
<<set $Player.homelevel += 1>>
<<elseif $args[0].name == $Upgrades.path["opulenthome"].name>>
<<set $Player.homelevel += 1, $Player.homepointsmodifier += 0.5>>
<<elseif $args[0].name == $Upgrades.path["mediumhome"].name>>
<<set $Player.homelevel += 1>>
<<elseif $args[0].name == $Upgrades.path["smallhome"].name>>
<<set $Player.homelevel += 1, $Player.homepointsmodifier += 1>>
<<elseif $args[0].name == $Upgrades.path["apartment"].name>>
<<set $Player.homelevel += 1, $Player.homepointsmodifier += 1>>
<</if>>
<<CalculateStress>>
<<goto "Upgrades">>
<</button>>
<<else>><<UpgradeUnaffordable $args[0]>> /% Player can not afford item %/
<</if>>
<<else>><<UpgradeDisabled $args[0]>> /% Item not unlocked %/
<</if>>
<</if>>
<</widget>>
<<widget UpgradeDisabled>>
<span class="buttondisabled"><<disable>><<button "<div class='buttondisabled'><smaller><grey>$args[0].name</grey></smaller><br><a class='tooltip'><span>$args[0].tooltip</span><i class='fsinfo'> </i></a> <r><i class='fsicon'> </i></r></div>" "Upgrades">><</button>><</disable>></span>
<</widget>>
<<widget UpgradeAcquired>>
<<disable>><<button "<smaller><g>$args[0].name</g></smaller><br><a class='tooltip'><span>$args[0].tooltip</span><i class='fsinfo'> </i></a> <i class='fsicon'> </i>" "Upgrades">> <</button>><</disable>>
<</widget>>
<<widget UpgradeUnaffordable>>
<<disable>><<button "<smaller>$args[0].name</smaller><br><a class='tooltip'><span>$args[0].tooltip<br><r>Not enough money!</r></span><i class='fsinfo'> </i></a> <r><i class='fsicon'> </i> $args[0].cost</r>" "Upgrades">><</button>><</disable>>
<</widget>>
<<widget UpgradeUnlocked>>
<<if $args[0].requires.length > 0>>
<<for _k to 0; _k lt $args[0].requires.length; _k++>>
<<set _RequiresName = $args[0].requires[_k]>>
<<if $Upgrades.path[_RequiresName].researched == false>><<set _UpgradeDisplay = false>><</if>>
<</for>>
<</if>>
<</widget>><<widget SetupModelBios>>
<<for _k=0; _k < Object.keys($RelationshipEvents).length; _k++>>
<<set $RelationshipEvent.push(Object.keys($RelationshipEvents)[_k])>>
<</for>>
<<for $x=0;$x<Object.keys($Bio).length;$x++>>
<<set $Bios.push(Object.keys($Bio)[$x])>>
<</for>>
<<if $Bios neq undefined>>
<<for _i to 0; _i < $Bios.length; _i++>>
/% Fill model info with uniform data %/
<<set _TempModelInfo = {
competition: false,
extra : [0,""],
open : [0,""],
agree : [0,""],
poise : 0,
confidence : 0,
popularity : 0,
relationship : 0,
stability : 3,
health : { drugs: 0, alcohol: 0, depression: 0, morbidity: 0},
availability : { state: "", weeks: 0},
contracts : 0,
normal : [0,0,0,0,0,0,0,0],
lingerie : [0,0,0,0,0,0,0,0],
topless : [0,0,0,0,0,0,0,0],
nude : [0,0,0,0,0,0,0,0]
}>>
<<run jQuery.extend($Bio[$Bios[_i]], _TempModelInfo)>>
<<set _TraitValue = (random(1,$Traits["Openness"].length))-1>>
<<set $Bio[$Bios[_i]].open[0] = $Traits["Openness"][_TraitValue][0]>>
<<set $Bio[$Bios[_i]].open[1] = $Traits["Openness"][_TraitValue][1]>>
<<set _TraitValue = (random(1,$Traits["Extraversion"].length))-1>>
<<set $Bio[$Bios[_i]].extra[0] = $Traits["Extraversion"][_TraitValue][0]>>
<<set $Bio[$Bios[_i]].extra[1] = $Traits["Extraversion"][_TraitValue][1]>>
<<set _TraitValue = (random(1,$Traits["Agreeableness"].length))-1>>
<<set $Bio[$Bios[_i]].agree[0] = $Traits["Agreeableness"][_TraitValue][0]>>
<<set $Bio[$Bios[_i]].agree[1] = $Traits["Agreeableness"][_TraitValue][1]>>
<</for>>
<</if>>
<</widget>>
/%%%% IMAGES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Widgets for the different types of images.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
/% Image - General Images
Usage: <<Image "filename">>
Example: <<Image "logo.png">>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<widget Image>>
<<set $PrintImage = "" + $ImgDir + $args[0]>>
<<print "[img[" + $PrintImage + "]]">>
<</widget>>
/% Image - Model Avatars
Usage: <<ImageAvatar "pathname" "filename no extension">>
Example: <<Image "Kayla" "portrait">>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<widget ImageAvatar>>
<div class="smlimg">
<<set $PrintImage = "" + $ImgDir + $args[0] + "/" + $args[1] + ".webp">>
<div ><<print "<div class=\"filter\"> [img[" + $PrintImage + "]]</div>">></div>
</div>
<</widget>>
<<widget ImageDeceptionAchievement>>
<<set _ModelPathName = $args[0]>>
<<set $PrintImage = "" + $ImgDir + $args[0] + "/" + $args[1] + ".png">>
<<print "<span class=\"img-deception\" >[img[" + $PrintImage + "]]</span>">>
<</widget>>
<<widget ImageTable>>
<<set $PrintImage = "" + $ImgDir + $args[0] + "/" + $args[1] + ".webp">>
<div ><<print "<div class=\"table-avatar\"> [img[" + $PrintImage + "]]</div>">></div>
<</widget>>
<<widget ImageModel>>
<<set $PrintImage = "" + $ImgDir + $args[0] + "/" + $args[1] + ".webp">>
<<print "<span class=\"medimg\">[img[" + $PrintImage + "]]</span>">>
<</widget>>
<<widget ImageShoot>>
<<set _ModelPathName = $args[0]>>
<<set $PrintImage = "" + $ImgDir + _ModelPathName + "/" + $args[1] + ".webp">>
<<print "<span class=\"lrgimg\">[img[" + $PrintImage + "]]</span>">>
<</widget>>
<<widget ImageStackNew>>
<<set _ModelPathName = $args[0]>>
<<set $PrintImage = "" + $ImgDir + $args[0] + "/" + $args[1] + ".png">>
<<print "<span class=\"lrgimg_new\">[img[" + $PrintImage + "]]</span>">>
<</widget>>
<<widget ImageStackChange>>
<<set _ModelPathName = $args[0]>>
<<set $PrintImage = "" + $ImgDir + $args[0] + "/" + $args[1] + ".png">>
<<print "<span class=\"lrgimg_change\">[img[" + $PrintImage + "]]</span>">>
<</widget>>
<<widget ImageStack>>
<<set _ModelPathName = $args[0]>>
<<set $PrintImage = "" + $ImgDir + $args[0] + "/" + $args[1] + ".png">>
<<print "<span class=\"lrgimg\">[img[" + $PrintImage + "]]</span>">>
<</widget>>
<<widget ImageDud>>
<<set _ModelPathName = $args[0]>>
<<set $PrintImage = "" + $ImgDir + $args[0] + "/" + $args[1] + ".png">>
<<print "<span class=\"lrgimg_dud\">[img[" + $PrintImage + "]]</span>">>
<</widget>>
<<widget ImageWindow>>
<<set _ModelPathName = $args[0]>>
<<set $PrintImage = "" + $ImgDir + $args[0] + "/" + $args[1] + ".webp">>
<<cImg $PrintImage>>
<</widget>>
<<widget cImg>>
<span class="medimg">
<<link [img[$args[0]]]>>
<<script>>
Dialog.setup();
Dialog.wiki("[img[$args[0]]]");
Dialog.open();
<</script>>
<</link>>
</span>
<</widget>>
<<widget ImageTiny>>
<<set _ModelPathName = $args[0]>>
<<set $PrintImage = "" + $ImgDir + $args[0] + "/" + $args[1] + ".webp">>
<<cTinyImg $PrintImage>>
<</widget>>
<<widget cTinyImg>>
<span class="tinyimg">
<<link [img[$args[0]]]>><<script>> Dialog.setup(); Dialog.wiki("[img[$args[0]]]"); Dialog.open();<</script>><</link>>
</span>
<</widget>>
/% Image - Model Avatars
Usage: <<CardList "filename prefix" "filename postfix">>
Example: <<Image "010" "1">>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<widget CardList>>
$args[0]: <<DisplayTypes $args[0]>><br>
<<for _i = 0; _i < 8; _i++>>
<<print "<<set _tempName = $Bio[$ModelSelected]." + $args[0] + "[_i]>>">>
<<if _tempName != 0>>
<<set _ModelFileImage = $args[1] + (1+_i)>>
<<ImageWindow $ModelSelected _ModelFileImage>>
<<else>>
<<ImageModel "other" "unknown">>
<</if>>
<</for>>
<</widget>>
/% Concubined card list %/
<<widget ConCardList>>
<<for _i = 0; _i < 8; _i++>>
<<print "<<set _tempName = $Bio[$args[2]]." + $args[0] + "[_i]>>">>
<<if _tempName != 0>>
<<set _ModelFileImage = $args[1] + (1+_i)>>
<<ImageTiny $args[2] _ModelFileImage>>
<</if>>
<</for>>
<</widget>>
/*** MENU BUTTONS ***/
<<widget MenuButtons>>
/% GOTO OFFICE SCREEN %/
<<button "Office">><<goto "Office">><</button>>
/% GOTO UPGRADES SCREEN %/
<<button "Upgrades">><<goto "Upgrades">><</button>>
/% Blink if New message %/
<<if $Player.reputation > $Models.length and $Models.length < $Player.modelsmax and $ModelArrived == false>>
<<if $ModelAuditions>>
<<button "@@#blinky;<bl><i class='fsicon'> </i></bl>@@ Audition">><<goto "Messages">><</button>>
<<else>>
<<button "@@#blinky;<bl><i class='fsicon'> </i></bl>@@ New Message">><<goto "Messages">><</button>>
<</if>>
<<else>>
<<disable>><<button "<div class='disable'>Messages</div>">><</button>><</disable>>
<</if>>
<<script>>
$(document).one(':passagerender', function (ev) {
$(ev.content).find("#blinky").fadeTo(200, 0).fadeTo(200, 1).delay(100).fadeTo(200, 0).fadeTo(200, 1).delay(100).fadeTo(200, 0).fadeTo(200, 1).delay(100).fadeTo(200, 0).fadeTo(200, 1).delay(100).fadeTo(200, 0).fadeTo(200, 1);
$(ev.content).find("#blinky").css("color", "gold");
setTimeout( function () { $(ev.content).find("#blinky").css("color", "white"); }, 2200);
});
<</script>>
<<if $ContractAvailable == true and $Models.length > 1>><<button "<bl><i class='fsicon'> </i></bl> Contract Offered">><<goto "Contracts">><</button>>
<<else>><<disable>><<button "<div class='disable'>Contracts</div>">><<goto "Studio">><</button>><</disable>><</if>>
<<if $AntagonistStory[0] == 5 and $AntagonistStory[1] == 0>>
<<if $Player.money >= 35000>>
<span class="buttonhome"><<button "Test Pills <smaller><rl><i class='fsicon'> </i> 35,000</rl></smaller>">><<set $Player.money -= 35000>><<goto "AntagonistStory6">><</button>></span>
<<else>>
<<disable>><span class="buttonhome"><<button "Test Pills <smaller><r><i class='fsicon'> </i> 35,000</r></smaller>">><</button>></span><</disable>>
<</if>>
<<elseif $AntagonistStory[0] == 7 or $AntagonistStory[0] == 8>>
<<button "Host Dinner">><<goto "AntagonistDinner">><</button>>
<</if>>
<<if $Debug>><span class="buttonhome"><<button "Skip Day <smaller><r><i class='fsicon'> </i> $300</r></smaller>">><<set $Player.money -= 300>><<goto "EndDay">><</button>></span>
<<button "Antagonist">><<goto "Antagonist">><</button>><</if>>
<</widget>>
/% END MONTH
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<widget ProgressMonth>>
<<switch $Month>>
<<case "January">>
<<if $Day > 31>>
<<set $Day -= 31, $Month = "February">>
<</if>>
<<case "February">>
<<if $Day > 28>>
<<set $Day -= 28, $Month = "March">>
<</if>>
<<case "March">>
<<if $Day > 31>>
<<set $Day -= 31, $Month = "April">>
<</if>>
<<case "April">>
<<if $Day > 30>>
<<set $Day -= 30, $Month = "May">>
<</if>>
<<case "May">>
<<if $Day > 31>>
<<set $Day -= 31, $Month = "June">>
<</if>>
<<case "June">>
<<if $Day > 30>>
<<set $Day -= 30, $Month = "July">>
<</if>>
<<case "July">>
<<if $Day > 31>>
<<set $Day -= 31, $Month = "August">>
<</if>>
<<case "August">>
<<if $Day > 31>>
<<set $Day -= 31, $Month = "September">>
<</if>>
<<case "September">>
<<if $Day > 30>>
<<set $Day -= 30, $Month = "October">>
<</if>>
<<case "October">>
<<if $Day > 31>>
<<set $Day -= 31, $Month = "November">>
<</if>>
<<case "November">>
<<if $Day > 30>>
<<set $Day -= 30, $Month = "December">>
<</if>>
<<default>>
<<if $Day > 31>>
<<set $Day -= 31, $Month = "January", $Year += 1>>
<</if>>
<</switch>>
<</widget>>
/% END WEEK
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<widget EndWeek>>
<table><tr>
<td width="380px;">
<div class="paper">
<table>
<tr style="border-bottom: thin solid grey;">
<th colspan="2"><b>WEEKLY FINANCES</b></th>
</tr>
<tr>
<td>Starting Money:</td>
<td><g><i class='fsicon'> </i></g> $Player.moneyold</td>
</tr>
<tr style="border-bottom: thin solid grey;">
<td><b>EXPENCES</b></td><td></td>
</tr>
<tr>
<td>Living expenses:</td>
<td><r><i class='fsicon'> </i></r> $Player.expliving<br>
<<set $Player.money += ($Player.incwork + $Player.expliving)>></td>
</tr>
<<if $Player.expupgrade < 0>>
<<print "<tr><td>Upgrades:</td><td><r><i class='fsicon'> </i></r> $Player.expupgrade<br><<set $Player.expupgrade = 0>></td></tr>">>
<</if>>
/% LOUNGE %/
<<if $loungeLoadout > 0>>
<<set _loungeExpence = $loungeLoadout * (-1)>>
<<print "<tr><td>Lounge upkeep:</td><td><r><i class='fsicon'> </i></r> _loungeExpence<br></td></tr>">>
<<set $Player.money += _loungeExpence>>
<</if>>
/% WEBSITE %/
/%<<if $websiteLoadout > 0>>
<<set _websiteExpence = $websiteLoadout * (-1)>>
<<print "<tr><td>Website upkeep:</td><td><r><i class='fsicon'> </i></r> _websiteExpence<br></td></tr>">>
<<set $Player.money += _websiteExpence>>
<</if>>%/
/% DRESSINGROOM %/
<<if $dressingroomLoadout > 0>>
<<set _dressingroomExpence = $dressingroomLoadout * (-1)>>
<<print "<tr><td>Dressingroom upkeep:</td><td><r><i class='fsicon'> </i></r> _dressingroomExpence<br></td></tr>">>
<<set $Player.money += _dressingroomExpence>>
<</if>>
/% CONCUBINES %/
<<if $Concubines.length > 0>>
<<set _ConcubineExpence = 0>>
<<for _j to 0; _j < $Concubines.length; _j++>>
<<if $Bio[$Concubines[_j]].availability.weeks > 0>><<set $Bio[$Concubines[_j]].availability.weeks -= 1>><</if>>
<<if $Bio[$Concubines[_j]].availability.state == "Concubined" or $Bio[$Concubines[_j]].availability.state == "Lady of Graceful Beauty" or $Bio[$Concubines[_j]].availability.state == "Lady of Lovely Countenance">>
<<set _ConcubineExpence += -1000>>
<</if>>
<</for>>
<<print "<tr><td>Concubines:</td><td><r><i class='fsicon'> </i></r> _ConcubineExpence<br></td></tr>">>
<<set $Player.money += _ConcubineExpence>>
<</if>>
<<if $Player.expevents < 0>>
<<print "<tr><td>Other:</td><td><r><i class='fsicon'> </i></r> $Player.expevents<br><<set $Player.expevents = 0>></td></tr>">>
<</if>>
<tr style="border-bottom: thin solid grey;">
<td><b>INCOME</b></td><td></td>
</tr>
<<if $Player.employment == "FullTime">>
<<print "<tr><td>FullTime Editor:</td><td><g><i class='fsicon'> </i></g> $Player.incwork</td></tr>">>
<<elseif $Player.employment == "PartTime">>
<<print "<tr><td>PartTime Editor:</td><td><g><i class='fsicon'> </i></g> $Player.incwork</td></tr>">>
<</if>>
<<if $Player.incshoot > 0>>
<tr>
<td>Photo Shoots:</td>
<td><g><i class='fsicon'> </i></g> $Player.incshoot<br><<set $Player.incshoot = 0>></td>
</tr>
<</if>>
/% WEBSITE INCOME %/
<<if $websiteLoadout > 0>>
<<set _websiteIncome = 0, _tempIncome = 0>>
<<for _j to 0; _j lt $Models.length; _j++>>
<<set _testModel = $Models[_j]>>
<<if $Bio[_testModel].normal.includes(0) or $Bio[_testModel].lingerie.includes(0) or $Bio[_testModel].topless.includes(0) or $Bio[_testModel].nude.includes(0) >><<else>>
<<set _tempIncome = ($Bio[_testModel].popularity * (( $websiteLoadout / 500)* 3))>>
<<PoiseBoost "_tempIncome">>
<<set _websiteIncome += Math.round(_tempIncome)>>
<</if>>
<</for>>
<<print "<tr><td>Website income:</td><td><g><i class='fsicon'> </i></g> _websiteIncome<br></td></tr>">>
<<set $Player.money += _websiteIncome>>
<</if>>
/% Pay out model contracts to player %/
<<for _j to 0; _j < $Contracts.length; _j++>>
<<if $Contracts[_j].model != "">>
<<set _Temp = $Contracts[_j].model>>
<<print "<tr><td>$Bio[_Temp].namefull's contract:</td><td><g><i class='fsicon'> </i></g> " + $Contracts[_j].income + "</td></tr>">><br>
<<set $Player.money += $Contracts[_j].income>>
<</if>>
<<set $Contracts[_j].duration -= 1>>
<</for>>
<<if $Player.expevents > 0>>
<<print "<tr><td>Other:</td><td><r><i class='fsicon'> </i></r> $Player.expevents<br><<set $Player.expevents = 0>></td></tr>">>
<</if>>
</table>
</div>
</td>
<td style="vertical-align:bottom;">
<br>
/% Reset model arrived flag %/
<<set $ModelArrived = false>>
/% Model availability (stability effects) %/
<<for _j to 0; _j < $Models.length; _j++>>
<<if $Bio[$Models[_j]].availability["weeks"] > 0>>
<<set $Bio[$Models[_j]].availability["weeks"] -= 1>>
<<if $Bio[$Models[_j]].availability["weeks"] == 0>>
<<set $Bio[$Models[_j]].availability["state"] = "">>
<<print "$Bio['" + $Models[_j] + "'].namefull is now available again to model<br>">>
<</if>>
<</if>>
<</for>>
/% Widget to process any model's who are in a state to leave the studio %/
<<ModelLeave>>
/% Remove finished contracts %/
<<for _j to 0; _j < $Contracts.length; _j++>>
<<if $Contracts[_j].duration <= 0>>
<<set _Temp = $Contracts[_j].model>>
<<if $Contracts[_j].model != "">><<ContractLearn $Contracts[_j].name _Temp>><<print "<bl><i class='fsicon'> </i></bl> The contract for $Bio[_Temp].namefull has ended.">><<set $Bio[_Temp].contracts += 1>><br><</if>>
<<run $Contracts.deleteAt(_j)>>
<</if>>
<</for>>
<<set $ContractAvailable = true>>
</td>
</tr>
</table>
/% Antagonist Events %/
/% Provide new model for Antagonist every 2 weeks%/
<<if $AntagonistModels.length < 20 and $Day % 2>>
<<set $ModelSelected = $Bios[random(0,($Bios.length-1))]>>
<<set $AntagonistModels.push($ModelSelected)>>
<<set $Bios.delete($ModelSelected)>>
<</if>>
/% Competition Events %/
<<if $CompetitionStage < 0>>
<<set $CompetitionStage += 1 >>
<</if>>
<</widget>>
/*** CONTRACT LEARN ***/
/% Learn information about business owner %/
<<widget ContractLearn>>
<<for _i to 0; _i < $JudgesAvailable.length; _i++>>
<<if $Judges[$JudgesAvailable[_i]].company == $args[0]>>
<<for _p to 1; _p < 4; _p++>>
<<print "<<set _tempNeed = $Bio[$args[1]]." + $Judges[$JudgesAvailable[_i]].preferences[_p].type + ">>">>
<<if _tempNeed == $Judges[$JudgesAvailable[_i]].preferences[_p].criteria and $Judges[$JudgesAvailable[_i]].preferences[_p].known == false>>
<<set $Judges[$JudgesAvailable[_i]].preferences[_p].known = true>>
<hilight><i class='fsicon'> </i></hilight> $args[1] has learned something new about $JudgesAvailable[_i] the manager of $args[0].<br>
<</if>>
<</for>>
<</if>>
<</for>>
<</widget>>
/*** MODEL SORT ***/
<<widget ModelSort>>
<<if $ModelSort == "Confidence">>
<<if $DisplaySort == "A-Z">>
<<script>>
state.active.variables.Models = state.active.variables.Models.sort(function(a, b) {
var _avalue = state.active.variables.Bio[a].confidence || 0;
var _bvalue = state.active.variables.Bio[b].confidence || 0;
if (_avalue < _bvalue) { return -1; }
if (_avalue > _bvalue) { return 1; }
return 0; });
<</script>>
<<else>>
<<script>>
state.active.variables.Models = state.active.variables.Models.sort(function(a, b) {
var _avalue = state.active.variables.Bio[a].confidence || 0;
var _bvalue = state.active.variables.Bio[b].confidence || 0;
if (_avalue < _bvalue) { return 1; }
if (_avalue > _bvalue) { return -1; }
return 0; });
<</script>>
<</if>>
<<elseif $ModelSort == "Contracts Completed">>
<<if $DisplaySort == "A-Z">>
<<script>>
state.active.variables.Models = state.active.variables.Models.sort(function(a, b) {
var _avalue = state.active.variables.Bio[a].contracts || 0;
var _bvalue = state.active.variables.Bio[b].contracts || 0;
if (_avalue < _bvalue) { return 1; }
if (_avalue > _bvalue) { return -1; }
return 0; });
<</script>>
<<else>>
<<script>>
state.active.variables.Models = state.active.variables.Models.sort(function(a, b) {
var _avalue = state.active.variables.Bio[a].contracts || 0;
var _bvalue = state.active.variables.Bio[b].contracts || 0;
if (_avalue < _bvalue) { return -1; }
if (_avalue > _bvalue) { return 1; }
return 0; });
<</script>>
<</if>>
<<elseif $ModelSort == "Popularity">>
<<if $DisplaySort == "A-Z">>
<<script>>
state.active.variables.Models = state.active.variables.Models.sort(function(a, b) {
var _avalue = state.active.variables.Bio[a].popularity || 0;
var _bvalue = state.active.variables.Bio[b].popularity || 0;
if (_avalue < _bvalue) { return 1; }
if (_avalue > _bvalue) { return -1; }
return 0; });
<</script>>
<<else>>
<<script>>
state.active.variables.Models = state.active.variables.Models.sort(function(a, b) {
var _avalue = state.active.variables.Bio[a].popularity || 0;
var _bvalue = state.active.variables.Bio[b].popularity || 0;
if (_avalue < _bvalue) { return -1; }
if (_avalue > _bvalue) { return 1; }
return 0; });
<</script>>
<</if>>
<<elseif $ModelSort == "Alphabetically">>
<<if $DisplaySort == "A-Z">>
<<set $Models = $Models.sort() >>
<<else>>
<<set $Models = $Models.sort().reverse() >>
<</if>>
<</if>>
<</widget>>
/% MODEL DISPLAY
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<widget ModelDisplay>>
<<if $Display == "grid">>
<<if $Models neq undefined>>
<<set _j = 0>>
<<for _i to 0; _i < ($Models.length/5); _i++>>
<table><tr>
<<set _k = (5 * _i)>>
<<for _j to 0; _j < 5; _j++>>
<<if _k < $Models.length>>
<td align='center'>
<<set _id = $Models[_k]>>
<<capture _id>>
<<print "<div class='avatar'><<ImageModel $Models[_k] 'portrait'>></div>">>
<<if $Bio[_id].availability["weeks"] > 0>>
<b>$Bio[_id].availability["state"] ($Bio[_id].availability["weeks"] weeks) </b><br>
<<elseif $Player.employment == "SelfEmployed">>
/*<<if $Staff["Receptionist"] == $Models[_k]>><b>Receptionist</b><br><<elseif $Staff["Assistant"] == $Models[_k]>><b>Assistant</b><br><<else>>*/<<button "Contact $Bio[_id].name">><<set $ModelSelected = _id>><<goto "Portfolio">><</button>>/*<</if>>*/
<<else>>
<<button "Contact $Bio[_id].name">><<set $ModelSelected = _id>><<goto "Portfolio">><</button>>
<</if>>
<</capture>>
<<set _k += 1>>
</td>
<</if>>
<</for>>
</tr></table>
<</for>>
<</if>>
<<elseif $Display == "list">>
<<if $Models neq undefined>>
<table class="table-models">
<thead><tr><th></th><th>Name</th><th width="140px">Status</th><th width="70px">Confidence</th><th width="70px">Normal</th><th width="70px">Lingerie</th><th width="70px">Topless</th><th width="70px">Nude</th><th width="70px">Contracts</th><th width="70px">Stability</th></tr></thead>
<tbody>
<<for _i to 0; _i < $Models.length; _i++>>
<<set _id = $Models[_i]>>
<tr>
<td><div class='table-tinyavatar'><div class='avatar'><<ImageTable _id "portrait">></div></div></td>
<td>
<<capture _id>>
<<if $Player.employment == "SelfEmployed">>
<<if $Staff["Receptionist"] == $Models[_k] or $Staff["Assistant"] == $Models[_k] or $Bio[_id].availability["weeks"] > 0>><b>$Bio[_id].namefull</b><<else>><<button "<b>$Bio[_id].namefull</b>">><<set $ModelSelected = _id>><<goto "Portfolio">><</button>><</if>>
<<else>>
<<if $Bio[_id].availability["weeks"] > 0>><center><b>$Bio[_id].namefull</b></center><<else>><<button "<b>$Bio[_id].namefull</b>">><<set $ModelSelected = _id>><<goto "Portfolio">><</button>><</if>>
<</if>><</capture>></td>
<td>
<<if $Bio[_id].availability["weeks"] > 0>>$Bio[_id].availability["state"] <smaller>($Bio[_id].availability["weeks"] wks)</smaller>
<<elseif $Staff["Receptionist"] == $Models[_i]>>Receptionist<<elseif $Staff["Assistant"] == $Models[_i]>>Assistant<<elseif $Staff["Makeup Artist"] == $Models[_i]>>Makeup Artist<<elseif $Staff["Hairdresser"] == $Models[_i]>>Hairdresser<<else>>Model<</if>></td>
<td align="Center">$Bio[_id].confidence</td>
<td align="Center"><<set _temp = 0>><<for _j to 0; _j < $Bio[_id].lingerie.length; _j++>><<if $Bio[_id].normal[_j] != "0">><<set _temp += 1>><</if>><</for>>_temp / 8</td>
<td align="Center"><<set _temp = 0>><<for _j to 0; _j < $Bio[_id].lingerie.length; _j++>><<if $Bio[_id].lingerie[_j] != "0">><<set _temp += 1>><</if>><</for>>_temp / 8</td>
<td align="Center"><<set _temp = 0>><<for _j to 0; _j < $Bio[_id].lingerie.length; _j++>><<if $Bio[_id].topless[_j] != "0">><<set _temp += 1>><</if>><</for>>_temp / 8</td>
<td align="Center"><<set _temp = 0>><<for _j to 0; _j < $Bio[_id].lingerie.length; _j++>><<if $Bio[_id].nude[_j] != "0">><<set _temp += 1>><</if>><</for>>_temp / 8</td>
<td align="Center">$Bio[_id].contracts</td>
<td align="Center"><<if $Bio[_id].stability == 3>>Stable<<elseif $Bio[_id].stability == 2>>Stressed<<elseif $Bio[_id].stability == 1>>Unstable<<else>>Broken<</if>></td>
</tr>
<</for>>
</tbody></table>
<</if>>
<<elseif $Display == "personal">>
<<if $Models neq undefined>>
<table class="table-models">
<thead><tr><th></th><th>Name</th><th width="60px">Age</th><th width="80px">Nationality</th><th width="180px">Hair</th><th width="90px">Eyes</th><th width="70px">Height</th><th width="70px">Weight</th><th width="70px">Measurements</th><th width="70px">Tattoos</th></tr></thead>
<tbody>
<<for _i to 0; _i < $Models.length; _i++>>
<<set _id = $Models[_i]>>
<tr>
<td><div class='table-tinyavatar'><div class='avatar'><<ImageTable _id "portrait">></div></div></td>
<td> <<capture _id>>
<<if $Player.employment == "SelfEmployed">>
<<if $Staff["Receptionist"] == $Models[_k] or $Staff["Assistant"] == $Models[_k] or $Bio[_id].availability["weeks"] > 0>><b>$Bio[_id].namefull</b><<else>><<button "<b>$Bio[_id].namefull</b>">><<set $ModelSelected = _id>><<goto "Portfolio">><</button>><</if>>
<<else>>
<<if $Bio[_id].availability["weeks"] > 0>><center><b>$Bio[_id].namefull</b></center><<else>><<button "<b>$Bio[_id].namefull</b>">><<set $ModelSelected = _id>><<goto "Portfolio">><</button>><</if>>
<</if>><</capture>></td>
<td align="Center">$Bio[_id].age</td>
<td align="Center">$Bio[_id].nationality</td>
<td align="Center">$Bio[_id].hair[0]<br>$Bio[_id].hair[1] hair</td>
<td align="Center">$Bio[_id].eyes eyes</td>
<td align="Center">$Bio[_id].height cm</td>
<td align="Center">$Bio[_id].weight kg</td>
<td align="Center"><<print $Bio[_id].bust + "(" + $Bio[_id].cup +")">> x $Bio[_id].waist x $Bio[_id].hips</td>
<td align="Center">$Bio[_id].tattoos</td>
</tr>
<</for>>
</tbody></table>
<</if>>
<</if>>
<</widget>>
/% CALCULATE STRESS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<widget CalculateStress>>
<<set $Player.pressure = 0>>
<<set _PressureStaff = 0>>
<<set _PressureUpgrades = 0>>
/% Pressure modifiers from staff and equipment %/
<<if $Staff["Assistant"] != "other">><<set _PressureStaff += -4>><</if>>
<<if $Staff["Receptionist"] != "other">><<set _PressureStaff += -4>><</if>>
<<if $Upgrades.path["equipbackup"].researched>><<set _PressureUpgrades += -4>><</if>>
/% Pressure modifiers from job %/
<<if $Player.employment == "FullTime">><<set _PressureJob = 5>><<elseif $Player.employment == "PartTime">><<set _PressureJob = 4>><<else>><<set _PressureJob = 0>><</if>>
/% Stress reduction from concubines %/
<<set _StressReleaseConcubines = ($Concubines.length * 1.5)>>
<<for _j to 0; _j lt $Concubines.length; _j++>>
<<if $Bio[$Concubines[_j]].availability.state == "Lady of Graceful Beauty">>
<<set _StressReleaseConcubines += 2.75>>
<</if>>
<</for>>
/% Pressure modifiers from number of models player is managing %/
<<set _PressureModels = ($Models.length * 2) - _StressReleaseConcubines>>
<<set $Player.pressure = + _PressureModels + _PressureJob + _PressureStaff + _PressureUpgrades + $AntagonistStress >>
<<set $Player.stresslevel = Math.round(($Player.pressure / ($Player.pressure + $Player.stressmanagement + $Player.stressnatresist + ($Player.homelevel * $Player.homepointsmodifier)))*100)>>
<</widget>>
<<widget SkipDayStressReleif>>
<<if $Player.stresslevel >= 40>>
<<set $Player.stressmanagement += $SkipDayStressReleif >>
<</if>>
<<if $Concubines.length > 0 and $Player.stresslevel >= 30>>
<<set $Player.stressmanagement += ($Concubines.length * 3)>>
<</if>>
<</widget>>
<<widget StressReturn>>
<<if $args[0]>><<set _k = $args[0]>><<else>><<set _k = 1>><</if>>
<<for _i to 0; _i < _k; _i++>>
<<if $Player.stressmanagement > 0>><<set $Player.stressmanagement -= 0.5 >><</if>>
<</for>>
<</widget>>
/% CALCULATE REPUTATION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<widget CalculateReputation>>
<<set $ReputationScore = 0>>
/% Add model confidence %/
<<for _i = 0; _i < $Models.length; _i++>>
<<set $ReputationScore += $Bio[$Models[_i]].confidence>>
<</for>>
/% Add event reputation modifiers %/
<<set $ReputationScore = $ReputationScore + $EventReputation>>
/% Add concubine - Lady of Lovely Countenance%/
<<for _j to 0; _j lt $Concubines.length; _j++>>
<<if $Bio[$Concubines[_j]].availability.state == "Lady of Lovely Countenance">>
<<set $ReputationScore = $ReputationScore + 30>>
<</if>>
<</for>>
/% See where reputation score sits on ModelGain array %/
<<for _i = 0; _i < $ModelGain.length; _i++>>
<<if $ReputationScore < $ModelGain[_i]>><<set _tempNewRep = (_i)>><<break>><</if>>
<</for>>
/% Check for reputation change %/
<<if $Player.reputation < _tempNewRep>>
<gold><i class='fsicon'> </i></gold> Your reputation has increased from $Player.reputation to _tempNewRep<br>
<<set $Player.reputation = _tempNewRep>>
<</if>>
<</widget>>
<<widget DebugCheck>>
/% Debug %/
<<if $DebugPasswordEntered.toLowerCase() == $DebugPassword>>
<<set $Debug = true>>
<<else>>
<<set $Debug = false>>
<</if>>
<</widget>>
/% Alternative checkbox
Usage: <<CheckboxPlus "variableName" "text" ["className"]>>
Example: <<CheckboxPlus "$EnabledOp" "Enable Option" "blueText">>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%/
<<widget CheckboxPlus>>
/* Make sure the variable passed in is a boolean. */
<<set State.setVar($args[0], !!State.getVar($args[0]))>>
<<if ndef _checkboxIDno>>
/* Start checkbox IDs at 1. */
<<set _checkboxIDno = 1>>
<<else>>
/* Next checkbox ID. */
<<set _checkboxIDno++>>
<</if>>
<<set _checkboxData = "'" + $args[0] + "'">>
<<if def $args[2]>>
<<set _cbStyle = " " + $args[2]>>
<<else>>
<<set _cbStyle = "">>
<</if>>
/* Display checkbox. */
<span class="chkbox" tabindex="0" onkeypress="if ((event.key == ' ') || (event.key == 'Spacebar')) { $(this).find('input[type=\'checkbox\']').trigger('click'); return false; }">
<<print '<input type="checkbox" id="checkbox_' + _checkboxIDno + '" tabindex="-1" class="cbhidden" onchange="SugarCube.State.setVar(' + _checkboxData + ', this.checked)" data-var="' + $args[0] + '"' + (State.getVar($args[0]) ? ' checked' : '') + '>'>>
<label @for="'checkbox_' + _checkboxIDno" @class="'chklabel' + _cbStyle">
$args[1]
</label>
</span>
<</widget>>
<<widget Concubine>>
<<set $Bio[$args[0]].availability.state = "Concubined">>
<<set $Bio[$args[0]].availability.weeks = 3>>
<<set $Concubines.push($args[0])>>
<<set $Models.delete($args[0])>>
<</widget>>
<<widget CardType>>
<<set _tempType = "bgblack">>
<<if $args[0] == "ImageStackNew">>
<<set _tempType = "bggold">>
<</if>>
<div class="image-stack_item"><<print "<<timed " + _i + "s>><<ImageStack 'other' " + _tempType + ">><</timed>>">></div>
<<if $ShootType == "nude">>
<<set $TypeOptions = {"poise" : 120, "confidence" : 200, "popularity" : 280, "relationship" : 100, "stability" : 130, "emptya" : 180}>>
<<elseif $ShootType == "topless">>
<<set $TypeOptions = {"poise" : 160, "confidence" : 200, "popularity" : 200, "relationship" : 100, "stability" : 80, "emptya" : 35}>>
<<elseif $ShootType == "lingerie">>
<<set $TypeOptions = {"poise" : 176, "confidence" : 200, "popularity" : 176, "relationship" : 100, "stability" : 40, "emptya" : 41}>>
<<else>>
<<set $TypeOptions = {"poise" : 240, "confidence" : 200, "popularity" : 120, "relationship" : 100, "stability" : 8, "emptya" : 44}>>
<</if>>
<<set _loungeValue = ($loungeLoadout / $serviceIncrement * 20)>><<set $TypeOptions["relationship"] += _loungeValue, $TypeOptions["emptya"] -= _loungeValue >>
<<set _tempType = setup.nonuniformrandom($TypeOptions)>>
<div class="image-stack_item"><<print "<<timed " + _i + "s>><<" + $args[0] + " 'other' " + _tempType + ">><</timed>>">></div>
/% Reverse Previous cards effect if applicable %/
<<if $args[0] == "ImageStackChange" and _tempType != "emptya">>
<<print "<<if $Bio[$ModelSelected]." + $ShootType + "[" + $args[1] + "] == 'poise'>>
<<set $Bio[$ModelSelected].poise -= 1>>
<<elseif $Bio[$ModelSelected]." + $ShootType + "[" + $args[1] + "] == 'confidence'>>
<<set $Bio[$ModelSelected].confidence -= 1>>
<<elseif $Bio[$ModelSelected]." + $ShootType + "[" + $args[1] + "] == 'popularity'>>
<<set $Bio[$ModelSelected].popularity -= 1>>
<</if>>">>
<<elseif $args[0] == "ImageStackNew">>
/% Increase confidence for new card %/
<<print "<<set $Bio[$ModelSelected].confidence += 1>>">>
<</if>>
/% Apply Card Effect %/
<<print "<<set $Bio[$ModelSelected]." + $ShootType + "[" + $args[1] + "] = _tempType>>">>
<<if _tempType == "poise">>
<<print "<<set $Bio[$ModelSelected].poise += 1>>">>
<<elseif _tempType == "confidence">>
<<print "<<set $Bio[$ModelSelected].confidence += 1>>">>
<<elseif _tempType == "popularity">>
<<print "<<set $Bio[$ModelSelected].popularity += 1>>">>
<<elseif _tempType == "relationship">>
<<print "<<set $Bio[$ModelSelected].relationship += 1>>">>
<<elseif _tempType == "stability">>
<<print "<<set $Bio[$ModelSelected].stability -= 1>>">>
<</if>>
<</widget>>
/% PORTRAIT - Display photo mods for the image types%/
<<widget DisplayTypes>>
<<set _tempPoise = 0, _tempConfidence = 0, _tempPopularity = 0, _tempRelationship = 0, _tempStability = 0>>
<<for _i to 0; _i < 8; _i++>>
<<print "<<set _tempValue = $Bio[$ModelSelected]." + $args[0] + "[" + _i + "]>>">>
<<if _tempValue == "poise">>
<<set _tempPoise += 1>>
<<elseif _tempValue == "confidence">>
<<set _tempConfidence += 1>>
<<elseif _tempValue == "popularity">>
<<set _tempPopularity += 1>>
<<elseif _tempValue == "relationship">>
<<set _tempRelationship += 1>>
<<elseif _tempValue == "stability">>
<<set _tempStability += 1>>
<</if>>
<</for>>
<lgs><<print "[ Poise: _tempPoise | Confidence: _tempConfidence | Popularity: _tempPopularity | Relationship: _tempRelationship | Stability: <<set _tempStability = _tempStability * -1>> _tempStability ]">></lgs>
<</widget>>
<<widget ModelPersonalitiesCard>>
<<if $ShootType == "nude" or $ShootType == "lingerie">>
<<if $Bio[$ModelSelected].extra[0] == 3>>
<<set $TypeOptions["stability"] -= 5, $TypeOptions["confidence"] += 5>>
<<elseif $Bio[$ModelSelected].extra[0] == 1>>
<<set $TypeOptions["stability"] += 5>>
<</if>>
<</if>>
<</widget>>
<<widget Extroversion>>
<<switch $Bio[$ModelSelected].extra[0]>>
<<case 1>>
Introvert
<<case 2>>
Ambivert
<<case 3>>
Extrovert
<</switch>>
<</widget>>
<<widget Openness>>
<<switch $Bio[$ModelSelected].open[0]>>
<<case 1>>
Conservative
<<case 2>>
Relaxed
<<case 3>>
Open
<</switch>>
<</widget>>
<<widget Agreeableness>>
<<switch $Bio[$ModelSelected].agree[0]>>
<<case 1>>
Challenger
<<case 2>>
Negotiator
<<case 3>>
Adaptor
<</switch>>
<</widget>>
<<widget Relationship>>
<<if $Bio[$ModelSelected].relationship < 0>>
Disliked
<<elseif $Bio[$ModelSelected].relationship <= 1>>
Acquaintance
<<elseif $Bio[$ModelSelected].relationship <= 5>>
Colleague
<<elseif $Bio[$ModelSelected].relationship <= 6>>
Mentor
<<elseif $Bio[$ModelSelected].relationship <= 9>>
Friend
<<elseif $Bio[$ModelSelected].relationship <= 11>>
Close Friend
<<elseif $Bio[$ModelSelected].relationship <= 13>>
Romantic interest
<<else>>
Smitten
<</if>>
<</widget>>
<<widget Stability>>
<<switch $Bio[$ModelSelected].stability>>
<<case 1>>
Unstable
<<case 2>>
Stressed
<<case 3>>
Stable
<<default>>
Broken
<</switch>>
<</widget>>
<<widget Confidence>>
<<if $Bio[$ModelSelected].confidence < 8>>
Low
<<elseif $Bio[$ModelSelected].confidence < 18>>
Below Average
<<elseif $Bio[$ModelSelected].confidence < 24>>
Fair
<<elseif $Bio[$ModelSelected].confidence < 31>>
Confident
<<elseif $Bio[$ModelSelected].confidence < 40>>
High
<<else>>
Very High
<</if>>
<</widget>>
<<widget AuditionModel>>
<fieldset>
<legend><<print "$Bio['" + $args[0] + "'].namefull">></legend>
<table>
<tr><td>
<<ImageAvatar $args[0] 'portrait'>>
</td>
<td width="100%"><<AuditionInfo $args[0]>></td>
<td><<button "Select Model">><<set $Models.push(_tempModel), $Bios.delete(_tempModel)>><<AddRelationshipEvents _tempModel>><<goto "Studio">><</button>></td>
</tr>
</table>
</fieldset>
<</widget>>
<<widget AuditionClick>>
<<ImageAvatar 'other' 'applicant'>>
<</widget>>
<<widget AuditionInfo>>
Age: <<print "$Bio['" + $args[0] + "'].age">><br>
Height: <<print "$Bio['" + $args[0] + "'].height">> cm<br>
Hair: <<print "$Bio['" + $args[0] + "'].hair[0], $Bio['" + $args[0] + "'].hair[1]">>
<</widget>>
<<widget PoiseBoost>>
<<print "<<set " + $args[0] + " = " + $args[0] + " + (" + $args[0] + " * ((10 * 0.5)/100))>>">>
<</widget>>
<<widget AchivementShow>>
<div class="image-grid">
<<set _j = 1>>
<<set _model = random(0,$Bios.length)>>
<<for _i = 1; _i < 5; _i++>>
<<for _k = 1; _k < 9; _k++>>
<<set _prop = $ImgDir + $args[0] + "/" + "0" + _i + "0" + _k + ".webp">>
<<if _j == 3 or _j == 16>>
<<print "<img class='image-grid-row2 image-grid-col2' src='" + _prop + "'>">>
<<elseif _j == 6 or _j == 12>>
<<print "<img class='image-grid-row2' src='" + _prop + "'>">>
<<else>>
<<print "[img[" + _prop + "]]">>
<<if _j == 23>><<set _j = 1>><</if>>
<</if>>
<<set _j++>>
<</for>>
<</for>>
</div>
<</widget>>