From 2bbbac93ffa7589ada2c718e39303aebca2869e7 Mon Sep 17 00:00:00 2001 From: Purity <purityguydol@gmail.com> Date: Mon, 20 Mar 2023 11:47:35 -0400 Subject: [PATCH 1/6] Town Hall additions - Additions to a few town hall events in preparation to move the plot forward. - Fixed more issues with sidebar preggy sprites. --- game/04-Variables/canvasmodel-main.js | 34 +++++++- game/04-Variables/variables-start.twee | 1 + .../04-Variables/variables-versionUpdate.twee | 15 ++++ game/base-clothing/captiontext.twee | 2 +- game/base-system/named-npcs.twee | 2 +- .../loc-lake/ivory/widgets.twee | 11 ++- game/overworld-forest/loc-lake/main.twee | 2 +- .../overworld-forest/loc-lake/underwater.twee | 5 +- game/overworld-town/loc-museum/main.twee | 18 +++-- game/overworld-town/loc-street/oxford.twee | 2 +- game/overworld-town/loc-town-hall/main.twee | 80 ++++++++++++++++++- 11 files changed, 154 insertions(+), 18 deletions(-) diff --git a/game/04-Variables/canvasmodel-main.js b/game/04-Variables/canvasmodel-main.js index 1c6af9204b..e937d9ad53 100644 --- a/game/04-Variables/canvasmodel-main.js +++ b/game/04-Variables/canvasmodel-main.js @@ -707,11 +707,13 @@ Renderer.CanvasModels["main"] = { options.belly_mask_src = "img/clothes/belly/mask_" + options.belly + ".png"; } if (V.worn.upper.outfitPrimary == undefined) { - options.belly_hides_under_lower = true; if (options.belly >= 19) { options.belly_hides_lower = true; } } + if (V.worn.under_upper.outfitPrimary == undefined) { + options.belly_hides_under_lower = true; + } } if (between(options.belly, 19, 24) && V.worn.upper.outfitPrimary == undefined) { options.belly_mask_clip_src = "img/clothes/belly/mask_clip_" + options.belly + ".png"; @@ -2411,7 +2413,11 @@ Renderer.CanvasModels["main"] = { return options.worn_lower_setup.high_img ? ZIndices.lower_high : ZIndices.lower_belly; } }), - "lower_acc": genlayer_clothing_accessory('lower'), + "lower_acc": genlayer_clothing_accessory("lower", { + masksrcfn(options) { + return options.belly_mask_clip_src; + } + }), "lower_penis": { srcfn(options) { //ToDo: add images for lower penis bulges. check against pregnancy belly @@ -2420,6 +2426,7 @@ Renderer.CanvasModels["main"] = { }, showfn(options) { return options.show_clothes && + !options.belly_hides_lower && options.worn_lower > 0 && options.worn_lower_setup.penis_img === 1 && calculatePenisBulge() - 6 > 0; @@ -2436,6 +2443,7 @@ Renderer.CanvasModels["main"] = { }, showfn(options) { return options.show_clothes && + !options.belly_hides_lower && options.worn_lower > 0 && options.worn_lower_setup.penis_img === 1 && options.worn_lower_setup.accessory === 1 && @@ -2549,6 +2557,7 @@ Renderer.CanvasModels["main"] = { }, showfn(options) { return options.show_clothes && + !options.belly_hides_under_lower && options.worn_under_lower > 0 && options.worn_under_lower_setup.penis_img === 1 && calculatePenisBulge() > 0; @@ -2565,6 +2574,7 @@ Renderer.CanvasModels["main"] = { }, showfn(options) { return options.show_clothes && + !options.belly_hides_under_lower && options.worn_under_lower > 0 && options.worn_under_lower_setup.penis_img === 1 && options.worn_under_lower_setup.accessory === 1 && @@ -2585,7 +2595,7 @@ Renderer.CanvasModels["main"] = { */ "under_upper": genlayer_clothing_main('under_upper', { masksrcfn(options) { - return options.shirt_mask_clip_src; + return options.belly_mask_src; } }), "under_upper_belly_2": genlayer_clothing_belly_2("under_upper", { @@ -2947,6 +2957,11 @@ function genlayer_clothing_belly(slot, overrideOptions) { && !options.belly_hides_lower && options["worn_" + slot] > 0 && options["worn_" + slot + "_setup"].mainImage !== 0 + } else if (slot == "under_upper") { + return options.belly > 7 + && options.show_clothes + && options["worn_" + slot] > 0 + && options["worn_" + slot + "_setup"].mainImage !== 0 } else { return options.belly > 7 && options.show_clothes @@ -2994,6 +3009,11 @@ function genlayer_clothing_belly_2(slot, overrideOptions) { && !options.belly_hides_lower && options["worn_" + slot] > 0 && options["worn_" + slot + "_setup"].mainImage !== 0 + } else if (slot == "under_upper") { + return options.belly > 7 + && options.show_clothes + && options["worn_" + slot] > 0 + && options["worn_" + slot + "_setup"].mainImage !== 0 } else { return options.belly > 7 && options.show_clothes @@ -3146,10 +3166,18 @@ function genlayer_clothing_belly_acc(slot, overrideOptions) { return gray_suffix(path, options.filters['worn_' + slot + '_acc']); }, showfn(options) { + if (slot.includes("lower")) { + return options.belly > 7 + && options.show_clothes + && !options.belly_hides_lower + && options["worn_" + slot] > 0 + && options["worn_" + slot + "_setup"].accessory === 1 + } else { return options.belly > 7 && options.show_clothes && options["worn_" + slot] > 0 && options["worn_" + slot + "_setup"].accessory === 1 + } }, alphafn(options) { return options["worn_" + slot + "_alpha"] diff --git a/game/04-Variables/variables-start.twee b/game/04-Variables/variables-start.twee index 66001f49e2..57d42a9de6 100644 --- a/game/04-Variables/variables-start.twee +++ b/game/04-Variables/variables-start.twee @@ -938,4 +938,5 @@ <<set $modeloptionsOverride to {}>> <<set $wraith to {"state": "", "init": 0}>> + <<set $necklaceThief to "">> <</widget>> diff --git a/game/04-Variables/variables-versionUpdate.twee b/game/04-Variables/variables-versionUpdate.twee index fc8f4efae6..3014bdd57a 100644 --- a/game/04-Variables/variables-versionUpdate.twee +++ b/game/04-Variables/variables-versionUpdate.twee @@ -4280,6 +4280,7 @@ <<unset $adultShopWhitney>> <</if>> + <!-- v0.4 Vrel stuff that he forgot to label --> <<if $hypnosisdisable is undefined>> <<set $hypnosisdisable to "f">> <</if>> @@ -4296,4 +4297,18 @@ <<set $child_played to []>> <</if>> + <!-- v0.4 Wraith stuff --> + <<if $necklaceThief is undefined>> + <<if $museumAntiques.antiques.antiqueivorynecklace isnot "notFound">> + <<set $necklaceThief to "player">> + <<elseif $town_projects.diving gte 3 and $museumAntiques.antiques.antiqueivorynecklace is "notFound">> + /* for anyone on the dev build that passed the normal trigger already */ + <<museumAntiqueStatus "antiqueivorynecklace" "found">> + <<museumAntiqueStatus "antiqueivorynecklace" "talk">> + <<set $necklaceThief to "diver">> + <<else>> + <<set $necklaceThief to "">> + <</if>> + <</if>> + <</widget>> diff --git a/game/base-clothing/captiontext.twee b/game/base-clothing/captiontext.twee index 51051ca28b..af06788b91 100644 --- a/game/base-clothing/captiontext.twee +++ b/game/base-clothing/captiontext.twee @@ -40,7 +40,7 @@ <<clothingCaptionTextGender>> <br> <</if>> - <<if playerIsPregnant() and playerAwareTheyArePregnant() or $bellySizeDebug>> + <<if playerIsPregnant() and playerAwareTheyArePregnant() and playerBellySize() gt 7 or $bellySizeDebug>> <<clothingCaptionTextPreggy>> <br> <</if>> diff --git a/game/base-system/named-npcs.twee b/game/base-system/named-npcs.twee index 83f0107391..d7b346108c 100644 --- a/game/base-system/named-npcs.twee +++ b/game/base-system/named-npcs.twee @@ -471,7 +471,7 @@ Zohar <<checkWraith>> <<set $genderknown.pushUnique("Ivory Wraith")>> <<set C.npc["Ivory Wraith"].lust to 0>> - <<if $museumAntiques.antiques.antiqueivorynecklace isnot "notFound">> + <<if $wraith.state is "haunt">> <<set C.npc["Ivory Wraith"].lust to 20>> <<if $wraithPrison and $wraithPrison.vision>> <<set C.npc["Ivory Wraith"].lust -= 5>> diff --git a/game/overworld-forest/loc-lake/ivory/widgets.twee b/game/overworld-forest/loc-lake/ivory/widgets.twee index af1f6f80b5..83b5450c74 100644 --- a/game/overworld-forest/loc-lake/ivory/widgets.twee +++ b/game/overworld-forest/loc-lake/ivory/widgets.twee @@ -329,9 +329,14 @@ <<set $wraith to {init: 1, seen: 0, days: 0, defeated: 0, evaded: 0, nightmare: 0, timer: 0, hunt: 0, state: "", mimic: "", revealed: false, offspring: "", exit: ""}>> <</if>> <<if Time.days gte 32 and Time.monthName isnot "October" and !$wraithSkip>> - <<set $wraith.state to "active">> <<if $museumAntiques.antiques.antiqueivorynecklace isnot "notFound">> - <<set $wraith.state to "haunt">> + <<if $necklaceThief is "player">> + <<set $wraith.state to "haunt">> + <<else>> + <<set $wraith.state to "despair">> + <</if>> + <<else>> + <<set $wraith.state to "active">> <</if>> <</if>> <<if _args[0]>> @@ -836,7 +841,7 @@ <<if $museumAntiques.antiques.antiquebell isnot "notFound">> <<run _linePool.pushUnique("The cold iron bell rings again.")>> <</if>> - <<if $town_projects and $town_projects.diving gte 3>> + <<if $town_projects and $town_projects.road gte 3>> <<run _linePool.pushUnique( "Let the roads remain buried.", "Trespassers. Trespassers. It was you, wasn't it?", diff --git a/game/overworld-forest/loc-lake/main.twee b/game/overworld-forest/loc-lake/main.twee index 7a6a1c0e5a..bf8edf4ce4 100644 --- a/game/overworld-forest/loc-lake/main.twee +++ b/game/overworld-forest/loc-lake/main.twee @@ -196,7 +196,7 @@ You keep low and stay among the trees to keep your <<lewdness>> hidden. "It might not look like much," Winter says. "But it will keep the warmth in these old bones well enough. Let me show you." <br><br> -Winter leads you into the tent. It's spacious. A long table runs down the length. Diving suits hang on a rack near an area separated by a flap. +Winter leads you into the tent. It's spacious. A long table runs down the length. Diving suits hang on a rack near an area separated by a flap. They're visibly wet, and were likely used recently. <br><br> "They're running cables for power," <<he>> says. <span class="green">"You'll be able to find me here on weekdays, after school."</span> diff --git a/game/overworld-forest/loc-lake/underwater.twee b/game/overworld-forest/loc-lake/underwater.twee index 4bd88bc581..6cddf12d0a 100644 --- a/game/overworld-forest/loc-lake/underwater.twee +++ b/game/overworld-forest/loc-lake/underwater.twee @@ -416,7 +416,7 @@ You are deep in the lake ruin, in a small room with a plinth. <</if>> <<if _leave>> <<if $museumAntiques.antiques.antiqueivorynecklace is "notFound">> - <<link [[Take the necklace|Lake Ruin Ivory]]>><<set $antiquemoney += 2000>><<museumAntiqueStatus "antiqueivorynecklace" "found">><</link>> + <<link [[Take the necklace|Lake Ruin Ivory]]>><<set $antiquemoney += 2000>><<museumAntiqueStatus "antiqueivorynecklace" "found">><<set $necklaceThief to "player">><</link>> <br> <</if>> <<link [[Leave|Lake Ruin Deep]]>><<set $phase to 0>><</link>> @@ -427,6 +427,9 @@ You are deep in the lake ruin, in a small room with a plinth. <<effects>> You lift the necklace from the plinth. The craftsmanship is masterful, and you get the feeling that this meant a lot to someone. <br><br> +<<if C.npc["Ivory Wraith"].init is 1>> + <<set C.npc["Ivory Wraith"].lust to 20>> +<</if>> <<if isBloodmoon()>> You suddenly hear pounding on the walls all around you. <<if $wraith.seen gte 1>>A familiar<<else>>An unfamiliar<</if>> voice cries out, and it feels like something's grabbing at your arms and legs. You instinctively flail and push yourself backwards through the water. <<trauma 12>><<ggtrauma>> <br><br> diff --git a/game/overworld-town/loc-museum/main.twee b/game/overworld-town/loc-museum/main.twee index 50dee54411..f9508c6af5 100644 --- a/game/overworld-town/loc-museum/main.twee +++ b/game/overworld-town/loc-museum/main.twee @@ -223,11 +223,15 @@ :: Museum Lock <<set $outside to 1>><<set $location to "museum">><<effects>> -The museum is closed. A sign on the door reads. +The museum is closed. There's a sign on the door. <br><br> -"Open weekends -<br> -<<ampm 9 00>> - <<ampm 18 00>>" +<<if $town_projects.diving is 3>> + "Temporarily closed due to field work. Please contact me at my field office at the lake." +<<else>> + "Open weekends + <br> + <<ampm 9 00>> - <<ampm 18 00>>" +<</if>> <br><br> <<link [[Leave|Oxford Street]]>><</link>> @@ -896,7 +900,11 @@ Winter dons a pair of gloves and appraises the goods. Without a word, <<he>> pla <<run $museumAntiqueJournalHints.delete("antiqueivorynecklace")>> <</if>> -<<npc Winter>><<person1>>"The ivory necklace?" Winter says. "I have to send it away. Terrible shame, but I was told to inform the mayor's office should I acquire anything fitting that description. They've sent someone to pick it up." <<He>> shakes <<his>> head. "Best not interfere with those types." +<<if $necklaceThief is "player">> + <<npc Winter>><<person1>>"The ivory necklace?" Winter says. "I had to send it away. Terrible shame, but I was told to inform the mayor's office should I acquire anything fitting that description. They've sent someone to pick it up." <<He>> shakes <<his>> head. "Best not interfere with those types." +<<else>> + <<npc Winter>><<person1>>"Thanks to you," Winter starts, "we found the ivory necklace. I got nonstop calls from the mayor's office about it. They've sent someone to pick it up." <<He>> shakes <<his>> head. "It was a beautiful piece." +<</if>> <br><br> <<link [[Next|Museum]]>><<endevent>><</link>> diff --git a/game/overworld-town/loc-street/oxford.twee b/game/overworld-town/loc-street/oxford.twee index 9c1003a1aa..663fc267b7 100644 --- a/game/overworld-town/loc-street/oxford.twee +++ b/game/overworld-town/loc-street/oxford.twee @@ -149,7 +149,7 @@ You are on Oxford Street. There's an eclectic mix of buildings, but most notable <<schoolicon>><<link [[School (0:01)|School Locked]]>><<pass 1>><</link>> <br> <</if>> - <<if Time.isWeekEnd() and Time.dayState is "day">> + <<if Time.isWeekEnd() and Time.dayState is "day" and $town_projects.diving isnot 3>> <<if $exposed lte 0>> <<museumicon>><<link [[Museum (0:01)|Museum]]>><<pass 1>><</link>> <br> diff --git a/game/overworld-town/loc-town-hall/main.twee b/game/overworld-town/loc-town-hall/main.twee index b6a2178371..d983aadc84 100644 --- a/game/overworld-town/loc-town-hall/main.twee +++ b/game/overworld-town/loc-town-hall/main.twee @@ -349,6 +349,12 @@ The receptionist frowns. "I'm not sure what to make of-" "It's good to see a student such as yourself taking such an interest in our history..." Quinn talks your ear off while leading you up a flight of stairs and into <<his>> office proper. The walls are covered in wooden panels. Everything looks like an antique. <br><br> + +<<if $museumAntiques.antiques.antiqueivorynecklace isnot "found" and $necklaceThief is "player">> + Your eyes catch on a particularly ornate case placed on a pedestal next to <<his>> desk. You recognise its contents immediately; <span class="blue">an ivory necklace, studded with blue jewels</span>. + <br><br> +<</if>> + "Now then," Quinn says, sitting on a high-backed chair behind <<his>> desk and gesturing at another in front of <<him>>. "You want to set up an archeological office at the lake?" <br><br> @@ -402,7 +408,69 @@ The receptionist frowns. "I'm not sure what to make of-" "Fantastic!" Quinn exclaims. "I'll make the calls. We'll have it up and running in no time!" <br><br> -You rise to your feet, and leave the office. "Give Bailey my regards," the mayor shouts after you. +<<if $museumAntiques.antiques.antiqueivorynecklace is "found">> + You rise to your feet. Before you can move to the door, however, you hear a click from under the desk. The door locks behind you. + "But first, I'll be taking that necklace." + <<if $worn.neck.name isnot "naked">> + You raise your hands to your $worn.neck.name in confusion. "No, not that." + <<else>> + You tilt your head in confusion. + <</if>> + <br><br> + + Quinn stands from <<his>> desk. "'Great beast's tusks, carved anew. Starlight sapphire, midnight blue.' Sound familiar? You pilfered it from the lake, yes?" You realise <<hes>> talking about the ivory necklace. You're still carrying it. You take a step back, but Quinn gives you a disarming smile in response. + "Relax. I'll pay you quite handsomely for it. More than you'd get from the museum. But it's simply imperative that it be... preserved properly." + <br><br> + + <<He>> opens a drawer, and begins counting notes. Many of them are the ones you just handed over. "How does <span class="gold">£6000</span> sound?" + <br><br> + + <<link [[Accept|Town Hall Projects Diving Necklace]]>><<set $phase to 1>><</link>> + <br> + <<link [[Refuse|Town Hall Projects Diving Necklace]]>><<set $phase to 2>><</link>> + <br> +<<else>> + <<if $museumAntiques.antiques.antiqueivorynecklace is "notFound">> + <<museumAntiqueStatus "antiqueivorynecklace" "found">> + <<museumAntiqueStatus "antiqueivorynecklace" "talk">> + <<set $necklaceThief to "diver">> + You rise to your feet, and leave the office. "Give Bailey my regards," the mayor shouts after you. + <br><br> + + <<link [[Next|Cliff Street]]>><<endevent>><<set $eventskip to 1>><</link>> + <br> + <<else>> + <<He>> looks to the ivory necklace displayed proudly next to <<him>>. "Imagine what other pieces of history could be submerged." + <br><br> + + You rise to your feet, and leave the office. "Give Bailey my regards," the mayor shouts after you. + <br><br> + + <<link [[Next|Cliff Street]]>><<endevent>><<set $eventskip to 1>><</link>> + <br> + <</if>> +<</if>> + +:: Town Hall Projects Diving Necklace +<<effects>> +<<museumAntiqueStatus "antiqueivorynecklace" "talk">> +<<set $antiquemoney -= 2000>><<set $antiquemoneyhistory += 2000>><<set $money += 600000>> +<<if $phase is 1>> + "Wonderful! You've done this town a great service, young + <<if $player.gender_appearance is "m">> + man." + <<else>> + lady." + <</if>> + <<He>> places <span class="gold">£6000</span> in your hands as you give <<him>> the necklace. +<<else>> + "I'm afraid that's not an option." You take another step back, and quickly search for a way out. + You make eye contact with <span class="red">a camera, with a baleful, blinking light.</span> A fog clouds your mind. You step forward again. + <br><br> + + "There, I knew you could be reasonable." You're suddenly holding £6000, and Quinn is holding the necklace. +<</if>> +<<He>> proudly puts it on display in the empty case next to <<his>> desk, looking elated. The door clicks again. "You may go. Give Bailey my regards." <br><br> <<link [[Next|Cliff Street]]>><<endevent>><<set $eventskip to 1>><</link>> @@ -532,10 +600,18 @@ The receptionist waves you through. You enter the mayor's office. It's as you remember it, full of antique furniture and decor. Quinn isn't here. <br><br> +<<if $necklaceThief is "player">> + The ivory necklace sits in a case next to the desk. It casts reflected blue light around the room. +<<else>> + Something on a pedestal next to the desk catches your attention immediately. <span class="blue">A necklace of ivory, set with blue gemstones, casts an eerie reflection in the room.</span> It must be worth a lot. +<</if>> +The case looks far too reinforced for you to be able to take it. You also spot a camera in the corner, slowly sweeping back and forth around the room. +<br><br> + You examine the office more closely. One wall is lined with photographs of the mayor shaking hands with various unknown individuals. The wall opposite boasts a colossal boar head on a mount. The far wall is lined with shelves, full of books. <br><br> -You walk around the desk to peek at the mayor's computer screen. A password is needed. +You wait for the camera to move to the door, away from you. Once it does, you walk around the desk to peek at the mayor's computer screen. A password is needed. <br><br> <<link [[Next|Town Hall Computer 3]]>><</link>> -- GitLab From e073fd0758790a76f0e308762100dcf5fd36ed60 Mon Sep 17 00:00:00 2001 From: Purity <purityguydol@gmail.com> Date: Mon, 20 Mar 2023 12:46:01 -0400 Subject: [PATCH 2/6] Wraith test --- game/base-clothing/canvasmodel-img.twee | 4 ++-- game/base-clothing/images.twee | 2 +- game/base-combat/effects.twee | 8 ++++++-- game/base-system/mirror.twee | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/game/base-clothing/canvasmodel-img.twee b/game/base-clothing/canvasmodel-img.twee index 719fb98244..1f457e05d6 100644 --- a/game/base-clothing/canvasmodel-img.twee +++ b/game/base-clothing/canvasmodel-img.twee @@ -74,8 +74,8 @@ Requires prior <<selectmodel "main">> <</if>> <<if $possessed>> - <<set _modeloptions.left_eye = ($wraith.state is "haunt" ? "red possessed" : "blue possessed")>> - <<set _modeloptions.right_eye = ($wraith.state is "haunt" ? "red possessed" : "blue possessed")>> + <<set _modeloptions.left_eye = (["haunt", "despair"].includes($wraith.state) ? "red possessed" : "blue possessed")>> + <<set _modeloptions.right_eye = (["haunt", "despair"].includes($wraith.state) ? "red possessed" : "blue possessed")>> <<else>> <<set _modeloptions.left_eye = $makeup.eyelenses.left != 0 ? $makeup.eyelenses.left : $leftEyeColour>> <<set _modeloptions.right_eye = $makeup.eyelenses.right != 0 ? $makeup.eyelenses.right : $rightEyeColour>> diff --git a/game/base-clothing/images.twee b/game/base-clothing/images.twee index 2599bb34c8..e449056d6d 100644 --- a/game/base-clothing/images.twee +++ b/game/base-clothing/images.twee @@ -650,7 +650,7 @@ <<run defineCustomEyeColourStyle()>> /* define Filter: css style for eyes for old renderer */ <<if $possessed>> - <<set _colourEye to ($wraith.state is "haunt" ? "eye-redPossessed" : "eye-bluePossessed")>> + <<set _colourEye to (["haunt", "despair"].includes($wraith.state) ? "eye-redPossessed" : "eye-bluePossessed")>> <<else>> <<set _colourEye to "">> <<if $passage == "Start">> diff --git a/game/base-combat/effects.twee b/game/base-combat/effects.twee index ddf9b30b4d..51a59e2405 100644 --- a/game/base-combat/effects.twee +++ b/game/base-combat/effects.twee @@ -3717,8 +3717,12 @@ <<elseif $robinRentEvent is 1 and $combatPhase is "Robin">> You tell <<him>> you're sorry for not paying <<him>>. <<set $speechapologiseno to 1>> - <<elseif $npc.includes("Ivory Wraith") and $wraith.state is "haunt" and $wraithPrison and $wraithPrison.vision and !$wraithApologiseCooldown>> - You tell <<him>> you're sorry for taking everything from <<him>>. + <<elseif $npc.includes("Ivory Wraith") and $wraithPrison and $wraithPrison.vision and !$wraithApologiseCooldown>> + <<if $wraith.state is "haunt">> + You tell <<him>> you're sorry for taking everything from <<him>>. + <<else>> + You tell <<him>> you're sorry for everything that's happened to <<him>>. + <</if>> <<set $mouthactiondefault to "plead">> <<if $apologised is 0>> <<set $apologised to 1>><<set $speechapologise to 1>><<set $wraithApologise to true>><<set $wraithApologiseCooldown to true>> diff --git a/game/base-system/mirror.twee b/game/base-system/mirror.twee index 1348621436..76a4b86a1a 100644 --- a/game/base-system/mirror.twee +++ b/game/base-system/mirror.twee @@ -146,7 +146,7 @@ A cheerful <<girl>> <</if>> stares back. - <<if $wraith.state is "haunt" and $hallucinations gte 1 and random(1, 100) is 1>> + <<if ["haunt", "despair"].includes($wraith.state) and $hallucinations gte 1 and random(1, 100) is 1>> <span class="fading">A pale figure stands behind.</span> <</if>> <br> -- GitLab From ba2d893cfde6859f21627eacd0791e2edf6a80f5 Mon Sep 17 00:00:00 2001 From: Purity <purityguydol@gmail.com> Date: Mon, 20 Mar 2023 15:11:36 -0400 Subject: [PATCH 3/6] Wraith state --- game/base-system/named-npcs.twee | 8 + game/base-system/nicknames.twee | 3 + game/base-system/overlays/social.twee | 2 +- game/overworld-forest/loc-asylum/events.twee | 2 +- game/overworld-forest/loc-asylum/main.twee | 2 +- game/overworld-forest/loc-cabin/events.twee | 2 +- game/overworld-forest/loc-cabin/main.twee | 2 +- game/overworld-forest/loc-forest/widgets.twee | 2 +- game/overworld-forest/loc-lake/events.twee | 2 +- .../overworld-forest/loc-lake/ivory/main.twee | 10 +- .../loc-lake/ivory/schism.twee | 100 +++++++---- .../loc-lake/ivory/snatched.twee | 168 +++++++++++++++--- .../loc-lake/ivory/underwater-prison.twee | 154 ++++++++++++---- .../loc-lake/ivory/widgets.twee | 69 ++++++- game/overworld-forest/loc-wolfpack/main.twee | 2 +- game/overworld-plains/loc-bird/main.twee | 4 +- game/overworld-plains/loc-farm/cottage.twee | 2 +- game/overworld-plains/loc-moor/events.twee | 2 +- game/overworld-town/loc-home/main.twee | 8 +- game/overworld-town/loc-pound/abduction.twee | 2 +- game/overworld-town/loc-prison/main.twee | 2 +- game/overworld-town/loc-street/events.twee | 2 +- game/overworld-town/loc-street/widgets.twee | 2 +- game/overworld-town/loc-temple/main.twee | 2 +- game/overworld-town/loc-town-hall/main.twee | 3 + .../special-nightmares/main.twee | 4 +- .../loc-underground/main.twee | 4 +- img/misc/icon/wraithdespair.png | Bin 0 -> 1239 bytes 28 files changed, 439 insertions(+), 126 deletions(-) create mode 100644 img/misc/icon/wraithdespair.png diff --git a/game/base-system/named-npcs.twee b/game/base-system/named-npcs.twee index d7b346108c..8d71124d01 100644 --- a/game/base-system/named-npcs.twee +++ b/game/base-system/named-npcs.twee @@ -1469,6 +1469,14 @@ Zohar <<else>> <span class="purple">holds a grudge.</span> <</if>> + <<elseif $wraith.state is "despair">> + <<if $NPCName[_i].lust gte 18>> + <span class="red">is manic.</span> + <<elseif $NPCName[_i].lust gte 14>> + <span class="pink">is in anguish.</span> + <<else>> + <span class="purple">is melancholy.</span> + <</if>> <<else>> <<if $NPCName[_i].lust gte 15>> <span class="purple">is obsessed with you.</span> diff --git a/game/base-system/nicknames.twee b/game/base-system/nicknames.twee index c891ea2df2..956898cd65 100644 --- a/game/base-system/nicknames.twee +++ b/game/base-system/nicknames.twee @@ -590,6 +590,9 @@ "cruel " )>> <<else>> + <<if $wraith.state is "despair">> + <<set _names.push("accomplice")>> + <</if>> <<set _names.push( "coalwalker", "promise", diff --git a/game/base-system/overlays/social.twee b/game/base-system/overlays/social.twee index 220693dd46..738d91f77c 100644 --- a/game/base-system/overlays/social.twee +++ b/game/base-system/overlays/social.twee @@ -56,7 +56,7 @@ love : { maxValue : 50 } }, "Ivory Wraith" : { - lust : { name: "Obsession", activeIcon : (V.wraith && V.wraith.state == "haunt" ? "img/ui/obsessionblood.png" : "img/ui/obsession.png"), inactiveIcon : "img/ui/obsessionempty.png", maxValue : 20 } + lust : { name: "Obsession", activeIcon : (V.wraith && (V.wraith.state == "haunt" || V.wraith.state == "despair") ? "img/ui/obsessionblood.png" : "img/ui/obsession.png"), inactiveIcon : "img/ui/obsessionempty.png", maxValue : 20 } } }; diff --git a/game/overworld-forest/loc-asylum/events.twee b/game/overworld-forest/loc-asylum/events.twee index a064efdd7a..3b85175f3d 100644 --- a/game/overworld-forest/loc-asylum/events.twee +++ b/game/overworld-forest/loc-asylum/events.twee @@ -909,7 +909,7 @@ Harper affixes a mask around <<his>> head. The others follow <<his>> example whi <</if>> The doctors watch you, taking note of where your gaze lands. <br><br> - <<if $wraith.state is "haunt">> + <<if ["haunt", "despair"].includes($wraith.state)>> When you look back, <<if $wraith.seen gte 1>>your blood runs cold. A familiar pale figure stares at you from the corner of the room, smiling at you behind glowing <<wraithEyes>> eyes. <<stress 24>><<gggstress>><<trauma 6>><<gtrauma>><<else>>your breath catches in your throat. You see a pale figure flickering in the corner of the room, staring directly at you with bright <<wraithEyes>> eyes. <<stress 12>><<ggstress>><</if>> <<else>> When you look back, another light flickers in the corner of the room, and something disappears. Your ears begin ringing. You definitely saw something... someone... there. It looked tall and pale, wearing an ivory necklace set with dark blue gemstones. You think it was waving at you, or maybe motioning for you to get closer. <<stress 12>><<ggstress>> diff --git a/game/overworld-forest/loc-asylum/main.twee b/game/overworld-forest/loc-asylum/main.twee index 86393c32c3..c5464f8429 100644 --- a/game/overworld-forest/loc-asylum/main.twee +++ b/game/overworld-forest/loc-asylum/main.twee @@ -286,7 +286,7 @@ You snuggle under the covers. You slept soundly, but now feel a little rough. <br><br> <<elseif $nightmares gte 1 and $controlled is 0>> - You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. + You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if $specialClothesEffects.bimboTotal gte random(100,1000) or $arousal gte ($arousalmax / 10) * 9>> Your sleep <<if _wakingEffect>>was<<else>>is<</if>> plagued by dirty dreams. diff --git a/game/overworld-forest/loc-cabin/events.twee b/game/overworld-forest/loc-cabin/events.twee index e14baf9a99..26b8247007 100644 --- a/game/overworld-forest/loc-cabin/events.twee +++ b/game/overworld-forest/loc-cabin/events.twee @@ -3206,7 +3206,7 @@ You and Eden inflate the raft and push it onto the water. You spend the time bas <br><br> <<if _wraithEvent>> - You see someone standing out in the middle of the lake. Silver hair blows in the wind behind it,<<if $wraith.state is "haunt">> and a pair of red eyes stare through you<<else>> and an ornate necklace of ivory hangs around its neck<</if>>. Your ears begin to ring as it slowly turns to you. + You see someone standing out in the middle of the lake. Silver hair blows in the wind behind it,<<if ["haunt", "despair"].includes($wraith.state)>> and a pair of red eyes stare through you<<else>> and an ornate necklace of ivory hangs around its neck<</if>>. Your ears begin to ring as it slowly turns to you. <br><br> You turn to Eden, but <<nnpc_he "Eden">> doesn't react. You look back, and the figure is gone. <<stress 12>><<ggstress>><<trauma 4>><<gtrauma>> diff --git a/game/overworld-forest/loc-cabin/main.twee b/game/overworld-forest/loc-cabin/main.twee index 64bb2b9c78..80aef8e9cb 100644 --- a/game/overworld-forest/loc-cabin/main.twee +++ b/game/overworld-forest/loc-cabin/main.twee @@ -829,7 +829,7 @@ Your clothes are kept in the corner. You slept soundly, but now feel a little rough. <br><br> <<elseif $nightmares gte 1 and $controlled is 0>> - You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. + You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if $specialClothesEffects.bimboTotal gte random(100,1000) or $arousal gte ($arousalmax / 10) * 9>> Your sleep <<if _wakingEffect>>was<<else>>is<</if>> plagued by dirty dreams. diff --git a/game/overworld-forest/loc-forest/widgets.twee b/game/overworld-forest/loc-forest/widgets.twee index 03261394ed..00093107f3 100644 --- a/game/overworld-forest/loc-forest/widgets.twee +++ b/game/overworld-forest/loc-forest/widgets.twee @@ -828,7 +828,7 @@ <</if>> <<else>> <<rngWraith 2 "night">> - <<if _wraithEvent and ($wraith.state is "haunt" or $wraith.offspring is "dead") and $syndromeeden is 1>> + <<if _wraithEvent and (["haunt", "despair"].includes($wraith.state) or $wraith.offspring is "dead") and $syndromeeden is 1>> <<set $wraith.mimic to "Eden">><<npc Eden>><<person1>>Something whizzes past and hits a tree in front of you. You shield your face with your arms and stagger backwards. Something presses against your back, and you hear a <<personsimple>>'s voice. "I've got you now. Don't resist." <br><br> diff --git a/game/overworld-forest/loc-lake/events.twee b/game/overworld-forest/loc-lake/events.twee index e8f2b784f8..9c3479d023 100644 --- a/game/overworld-forest/loc-lake/events.twee +++ b/game/overworld-forest/loc-lake/events.twee @@ -897,7 +897,7 @@ You join the others and enter the darkening forest. People don't talk much, unti You wave at the <<person>>. <<He>> waves back. <<Hes>> a distance away, but you think <<hes>> smiling. <br><br> <<if _wraithEvent>> - <<if $wraith.state is "haunt">> + <<if ["haunt", "despair"].includes($wraith.state)>> <<His>> head tilts to the side, and <<his>> smile falters as <<he>> turns pale. For a brief moment, you see <<him>> clutching at <<his>> neck and reaching for you. You blink, and <<hes>> gone. <<trauma 6>><<gtrauma>> <<else>> Upon closer inspection, you see a necklace of ivory wrapped around <<his>> neck. You blink, and <<hes>> suddenly gone. <<trauma 3>><<gtrauma>> diff --git a/game/overworld-forest/loc-lake/ivory/main.twee b/game/overworld-forest/loc-lake/ivory/main.twee index 95408d2fb9..2a71806c7a 100644 --- a/game/overworld-forest/loc-lake/ivory/main.twee +++ b/game/overworld-forest/loc-lake/ivory/main.twee @@ -364,6 +364,8 @@ This isn't Kylar. <<trauma 12>><<ggtrauma>><<set $wraith.revealed to true>> "<span class="wraith">This one couldn't save them,</span>" <<he>> hisses. "<span class="wraith">You let them die.</span>" The translucent limbs converge on you. <<elseif $wraith.offspring is "sold">> "<span class="wraith">This one couldn't save them,</span>" <<he>> hisses. "<span class="wraith">You threw them away.</span>" The translucent limbs converge on you. +<<elseif $wraith.state is "despair">> + "<span class="wraith">Where is it? Have you seen it? My necklace...</span>" <<he>> pleads. The translucent limbs converge on you. <<else>> "<span class="wraith">You stole it from me,</span>" <<he>> hisses. "<span class="wraith">Give it back.</span>" The translucent limbs converge on you. <</if>> @@ -555,6 +557,12 @@ This isn't $wraith.mimic. <<trauma 24>><<gggtrauma>><<set $wraith.revealed to tr <<else>> "<span class="wraith">Give it back.</span>" <</if>> +<<elseif $wraith.state is "despair">> + <<if C.npc["Ivory Wraith"].lust gte 12>> + "<span class="wraith"><<pcPetname "Wraith">>. It's so cold without it... keep me warm.</span>" + <<else>> + "<span class="wraith">Where is it? Have you seen it? My necklace...</span>" + <</if>> <<elseif $wraith.offspring is "dead" and $tentacledisable is "f">> "<span class="wraith">You let them die. We will make more.</span>" <<elseif $wraith.offspring is "sold" and $tentacledisable is "f">> @@ -1180,7 +1188,7 @@ You're surrounded by trees, all covered in snow. You look down to see a bed of c "<span class="wraith">We may never reach the bottom. We can only hope.</span>" <br><br> The pale figure holds you close. -<<if $wraith.state is "haunt">> +<<if ["haunt", "despair"].includes($wraith.state)>> <<His>> eyes flicker red for a brief moment, before returning to a calm blue. <<else>> <<His>> deep blue eyes fill you with an inner peace. diff --git a/game/overworld-forest/loc-lake/ivory/schism.twee b/game/overworld-forest/loc-lake/ivory/schism.twee index 2e413a31c8..3c6c4d5c05 100644 --- a/game/overworld-forest/loc-lake/ivory/schism.twee +++ b/game/overworld-forest/loc-lake/ivory/schism.twee @@ -590,40 +590,57 @@ You hold your necklace. :: Schism Wraith <<effects>><<canvas-model-override "mouth" "neutral">> -Someone's coming down. A <<if $real_playergender is "m">>boy<<else>>girl<</if>> with -<<set _colour to $real_haircolour>> -<<if $real_hairColourStyle == "gradient">> - two-toned -<<elseif _colour in setup.colours.hair_map>> - <<print setup.colours.hair_map[_colour].name>> -<<else>> - _colour -<</if>> -hair and -<<if $real_lefteyecolour isnot $real_righteyecolour>> - mismatched -<<elseif $real_lefteyecolour>> - $real_lefteyecolour -<<else>> - $real_eyecolour -<</if>> -<<if $real_angel gte 4>> - eyes, and a ring of light proudly circling <<if $real_playergender is "m">>his<<else>>her<</if>> head. -<<elseif $real_fallenangel gte 2>> - eyes, and a shattered ring of light circling <<if $real_playergender is "m">>his<<else>>her<</if>> head. -<<elseif $real_demon gte 2>> - eyes, and two baleful horns protruding from <<if $real_playergender is "m">>his<<else>>her<</if>> head. +Someone's coming down. +<<if $necklaceThief is "player">> + A <<if $real_playergender is "m">>boy<<else>>girl<</if>> with + <<set _colour to $real_haircolour>> + <<if $real_hairColourStyle == "gradient">> + two-toned + <<elseif _colour in setup.colours.hair_map>> + <<print setup.colours.hair_map[_colour].name>> + <<else>> + _colour + <</if>> + hair and + <<if $real_lefteyecolour isnot $real_righteyecolour>> + mismatched + <<elseif $real_lefteyecolour>> + $real_lefteyecolour + <<else>> + $real_eyecolour + <</if>> + <<if $real_angel gte 4>> + eyes, and a ring of light proudly circling <<if $real_playergender is "m">>his<<else>>her<</if>> head. + <<elseif $real_fallenangel gte 2>> + eyes, and a shattered ring of light circling <<if $real_playergender is "m">>his<<else>>her<</if>> head. + <<elseif $real_demon gte 2>> + eyes, and two baleful horns protruding from <<if $real_playergender is "m">>his<<else>>her<</if>> head. + <<else>> + eyes. + <</if>> + You try to stop <<if $real_playergender is "m">>him<<else>>her<</if>>. You can't. + <br><br> + + You yell. You scream. You cry. + <br><br> + + <<if $real_playergender is "m">>He<<else>>She<</if>> enters the plinth room. You can't follow. You wail. You claw at the walls. You churn the waves. + <br><br> + + <<if $real_playergender is "m">>He<<else>>She<</if>> takes it. It disappears from around your neck. <<else>> - eyes. -<</if>> -You try to stop <<if $real_playergender is "m">>him<<else>>her<</if>>. You can't. + A smooth, featureless mass in the shape of a person, with a harsh metal weight strapped to its back and face. It seeks to pilfer. + You try to stop it. You can't. + <br><br> -<br><br> -You yell. You scream. You cry. -<br><br> -<<if $real_playergender is "m">>He<<else>>She<</if>> enters the plinth room. You can't follow. You wail. You claw at the walls. You churn the waves. -<br><br> -<<if $real_playergender is "m">>He<<else>>She<</if>> takes it. It disappears from around your neck. + You yell. You scream. You cry. + <br><br> + + It enters the plinth room. You can't follow. You wail. You claw at the walls. You churn the waves. + <br><br> + + It takes the necklace. It disappears from around your neck. +<</if>> <br><br> <<link [[Hate.|Schism Wraith 2]]>><</link>> <br> @@ -639,12 +656,21 @@ You scream. <br><br> You float endlessly, clawing at your bare neck, sobbing, sulking, longing. <br><br> -You hate <<if $real_playergender is "m">>him<<else>>her<</if>>. <<if $real_playergender is "m">>He<<else>>She<</if>> took the last thing you have. -<br><br> -But that's okay. -<br><br> -As long as you take everything from <<if $real_playergender is "m">>him<<else>>her<</if>>. +<<if $necklaceThief is "player">> + You hate <<if $real_playergender is "m">>him<<else>>her<</if>>. <<if $real_playergender is "m">>He<<else>>She<</if>> took the last thing you have. + <br><br> + But that's okay. + <br><br> + As long as you take everything from <<if $real_playergender is "m">>him<<else>>her<</if>>. +<<else>> + You hate them all. They took the last thing you have. + <br><br> + But that's okay. + <br><br> + As long as you take everything from them. +<</if>> <br><br> + <<link [[Wake up|Schism End]]>><<unset $wraithSkin>><</link>> <br> diff --git a/game/overworld-forest/loc-lake/ivory/snatched.twee b/game/overworld-forest/loc-lake/ivory/snatched.twee index 63036ea239..a26d5a85fd 100644 --- a/game/overworld-forest/loc-lake/ivory/snatched.twee +++ b/game/overworld-forest/loc-lake/ivory/snatched.twee @@ -319,14 +319,44 @@ Your head quickly tilts to the side, making sickening cracks. Your hands open an You fall to your knees, and your vision grows blurry. You see a set of pale, translucent arms emerging from your own. Your body goes stiff, and you start leaning backwards. <br><br> <<if $wraithIntro>> - The pale figure exits your body, staring back at you <<if $wraith.state is "haunt">>scornfully as it scratches at its neck<<else>>playfully as it thumbs a necklace made of ivory<</if>>. - <br><br> - "<span class="wraith">You belong to me<<if $wraith.state is "haunt">>, thief<</if>>.</span>" <<trauma 50>><<gggtrauma>> + The pale figure exits your body, staring back at you + <<if $wraith.state is "haunt">> + scornfully as it scratches at its scarred neck. + <br><br> + + "<span class="wraith">You belong to me, thief.</span>" + <<elseif $wraith.state is "despair">> + mournfully as it scratches at its scarred, bare neck. + <br><br> + + "<span class="wraith">Please... help me find it...</span>" + <<else>> + playfully as it thumbs a necklace made of ivory. + <br><br> + + "<span class="wraith">You belong to me.</span>" + <</if>> + <<trauma 50>><<gggtrauma>> <br><br> <<else>> - A beautiful pale figure walks out of your body, towering over you. <<if $wraith.state is "haunt">>It angrily claws at its own neck as it stares you down.<<else>>It's naked, save an ornate necklace of ivory around its neck.<</if>> It places a hand under your chin. - <br><br> - "<span class="wraith">Cut short. Next time. See you soon, <<pcpetname "Wraith">>.</span>" <<trauma 50>><<gggtrauma>> + A beautiful pale figure floats out of your body, towering over you. + <<if $wraith.state is "haunt">> + It angrily claws at its own neck as it stares you down. It places a hand under your chin. + <br><br> + + "<span class="wraith">Cut short. Next time. See you soon, <<pcpetname "Wraith">>.</span>" + <<elseif $wraith.state is "despair">> + It mournfully claws at its own scarred, bare neck as it stares you down. + <br><br> + + "<span class="wraith">Have you seen my necklace? I...</span>" + <<else>> + It's naked, save an ornate necklace of ivory around its neck. It places a hand under your chin. + <br><br> + + "<span class="wraith">Cut short. Next time. See you soon, <<pcpetname "Wraith">>.</span>" + <</if>> + <<trauma 50>><<gggtrauma>> <br><br> <</if>> It vanishes in a torrent of water. You slowly regain feeling in your body, and try to stand. It takes a few tries, but eventually, you hoist yourself up. @@ -341,14 +371,44 @@ Your head quickly tilts to the side, making sickening cracks. Your hands open an You double over in agony. It's pulling itself out of you, knowing it's been bested. You see a pair of pale, translucent arms erupt from your chest. With a great amount of effort, it expels itself out of you. <br><br> <<if $wraithIntro>> - The pale figure floats before you, staring at you <<if $wraith.state is "haunt">>scornfully as it scratches at its neck<<else>>playfully as it thumbs a necklace made of ivory<</if>>. - <br><br> - "<span class="wraith">You belong to me. You will not hold against me forever<<if $wraith.state is "haunt">>, thief<</if>>.</span>" <<trauma 50>><<gggtrauma>> + The pale figure floats before you, staring at you + <<if $wraith.state is "haunt">> + scornfully as it scratches at its scarred neck. + <br><br> + + "<span class="wraith">You belong to me. You will not hold against me forever, thief.</span>" + <<elseif $wraith.state is "despair">> + mournfully as it scratches at its scarred, bare neck. + <br><br> + + "<span class="wraith">Please... help me find it...</span>" + <<else>> + playfully as it thumbs a necklace made of ivory. + <br><br> + + "<span class="wraith">You belong to me. You will not hold against me forever.</span>" + <</if>> + <<trauma 50>><<gggtrauma>> <br><br> <<else>> - A beautiful pale figure floats before you. <<if $wraith.state is "haunt">>It angrily claws at its own neck as it stares you down.<<else>>It's naked, save an ornate necklace of ivory around its neck.<</if>> It places a hand under your chin. - <br><br> - "<span class="wraith"><<if $wraith.state isnot "haunt">>Your will is strong. I like you.<<else>>I will have you, graverobber. Soon.<</if>></span>" <<trauma 50>><<gggtrauma>> + A beautiful pale figure floats before you. + <<if $wraith.state is "haunt">> + It angrily claws at its own neck as it stares you down. It places a hand under your chin. + <br><br> + + "<span class="wraith">I will have you, graverobber. Soon.</span>" + <<elseif $wraith.state is "despair">> + It mournfully claws at its own scarred, bare neck as it stares you down. + <br><br> + + "<span class="wraith">Have you seen my necklace? I...</span>" + <<else>> + It's naked, save an ornate necklace of ivory around its neck. It places a hand under your chin. + <br><br> + + "<span class="wraith">Your will is strong. I like you.</span>" + <</if>> + <<trauma 50>><<gggtrauma>> <br><br> <</if>> A massive torrent of water shoots up from below, completely engulfing it. You can only see its <<wraithEyes>> eyes glowing through it. When it passes, the figure is gone. <<tearful>> you try to make sense of what you just went through. @@ -367,14 +427,44 @@ Your head quickly tilts to the side, making sickening cracks. Your hands open an You float aimlessly in the water, and your vision grows blurry. You see a set of pale, translucent arms emerging from your own. Your body goes stiff, and you start leaning backwards. <br><br> <<if $wraithIntro>> - The pale figure exits your body, staring back at you <<if $wraith.state is "haunt">>scornfully as it scratches at its neck<<else>>playfully as it thumbs a necklace made of ivory<</if>>. - <br><br> - "<span class="wraith">You belong to me. You will not hold against me forever<<if $wraith.state is "haunt">>, thief<</if>>.</span>" <<trauma 50>><<gggtrauma>> + The pale figure exits your body, staring back at you + <<if $wraith.state is "haunt">> + scornfully as it scratches at its scarred neck. + <br><br> + + "<span class="wraith">You belong to me, thief.</span>" + <<elseif $wraith.state is "despair">> + pleadingly as it scratches at its scarred neck. + <br><br> + + "<span class="wraith">Where is it?</span>" + <<else>> + playfully as it thumbs a necklace made of ivory. + <br><br> + + "<span class="wraith">You belong to me.</span>" + <</if>> + <<trauma 50>><<gggtrauma>> <br><br> <<else>> - A beautiful pale figure floats out of your body, towering over you. <<if $wraith.state is "haunt">>It angrily claws at its own neck as it stares you down.<<else>>It's naked, save an ornate necklace of ivory around its neck.<</if>> It places a hand under your chin. - <br><br> - "<span class="wraith">Cut short. Next time. See you soon, <<pcpetname "Wraith">>.</span>" <<trauma 50>><<gggtrauma>> + A beautiful pale figure floats out of your body, towering over you. + <<if $wraith.state is "haunt">> + It angrily claws at its own neck as it stares you down. It places a hand under your chin. + <br><br> + + "<span class="wraith">Cut short. Next time. See you soon, <<pcpetname "Wraith">>.</span>" + <<elseif $wraith.state is "despair">> + It mournfully claws at its own scarred neck as it stares you down. + <br><br> + + "<span class="wraith">Have you seen my necklace? I...</span>" + <<else>> + It's naked, save an ornate necklace of ivory around its neck. It places a hand under your chin. + <br><br> + + "<span class="wraith">Cut short. Next time. See you soon, <<pcpetname "Wraith">>.</span>" + <</if>> + <<trauma 50>><<gggtrauma>> <br><br> <</if>> It vanishes with a bright flash. You slowly regain feeling in your body, and try to swim. It takes some time, but you're able to move yourself again. @@ -388,14 +478,44 @@ Your head quickly tilts to the side, making sickening cracks. Your hands open an You double over in agony. It's pulling itself out of you, knowing it's been bested. You see a pair of pale, translucent arms erupt from your chest. With a great amount of effort, it expels itself out of you. <br><br> <<if $wraithIntro>> - The pale figure floats before you, staring at you <<if $wraith.state is "haunt">>scornfully as it scratches at its neck<<else>>playfully as it thumbs a necklace made of ivory<</if>>. - <br><br> - "<span class="wraith">You belong to me. You will not hold against me forever<<if $wraith.state is "haunt">>, thief<</if>>.</span>" <<trauma 50>><<gggtrauma>> + The pale figure floats before you, staring at you + <<if $wraith.state is "haunt">> + scornfully as it scratches at its scarred neck. + <br><br> + + "<span class="wraith">You belong to me. You will not hold against me forever, thief.</span>" + <<elseif $wraith.state is "despair">> + mournfully as it scratches at its scarred, bare neck. + <br><br> + + "<span class="wraith">Please... help me find it...</span>" + <<else>> + playfully as it thumbs a necklace made of ivory. + <br><br> + + "<span class="wraith">You belong to me. You will not hold against me forever.</span>" + <</if>> + <<trauma 50>><<gggtrauma>> <br><br> <<else>> - A beautiful pale figure floats before you. <<if $wraith.state is "haunt">>It angrily claws at its own neck as it stares you down.<<else>>It's naked, save an ornate necklace of ivory around its neck.<</if>> It places a hand under your chin. - <br><br> - "<span class="wraith"><<if $wraith.state isnot "haunt">>Your will is strong. I like you.<<else>>I will have you, graverobber. Soon.<</if>></span>" <<trauma 50>><<gggtrauma>> + A beautiful pale figure floats before you. + <<if $wraith.state is "haunt">> + It angrily claws at its own neck as it stares you down. It places a hand under your chin. + <br><br> + + "<span class="wraith">I will have you, graverobber. Soon.</span>" + <<elseif $wraith.state is "despair">> + It mournfully claws at its own scarred, bare neck as it stares you down. + <br><br> + + "<span class="wraith">Have you seen my necklace? I...</span>" + <<else>> + It's naked, save an ornate necklace of ivory around its neck. It places a hand under your chin. + <br><br> + + "<span class="wraith">Your will is strong. I like you.</span>" + <</if>> + <<trauma 50>><<gggtrauma>> <br><br> <</if>> A bright flash of light blinds you. When it passes, the figure is gone. <<tearful>> you try to make sense of what you just went through. diff --git a/game/overworld-forest/loc-lake/ivory/underwater-prison.twee b/game/overworld-forest/loc-lake/ivory/underwater-prison.twee index 36abe2b44c..164c4cd6d7 100644 --- a/game/overworld-forest/loc-lake/ivory/underwater-prison.twee +++ b/game/overworld-forest/loc-lake/ivory/underwater-prison.twee @@ -38,6 +38,12 @@ You collapse on the cold stone floor, with your senses slowly returning to you. "<span class="wraith">Sealed away forever. As a thief should.</span>" <br><br> It grabs you by the neck and effortlessly pushes you to the ground. It floats down, coming to rest as it straddles you, and begins to put pressure on your neck. <span class="red">You can't breathe!</span> + <<elseif $wraith.state is "despair">> + It regards you with miserable, tired red eyes. It cluthces at its own scarred, bare neck. + <br><br> + "<span class="wraith">H...have you seen my necklace...?</span>" + <br><br> + It gently puts its hands on your neck, and pushes you down on your back. It floats down, coming to rest as it straddles you. <<else>> It's naked, save for a necklace of ivory around its neck, set with large blue gemstones. It regards you with curious blue eyes, lifting your chin with its hand. It feels cold. <br><br> @@ -57,6 +63,16 @@ You collapse on the cold stone floor, with your senses slowly returning to you. <br><br> "<span class="wraith">If you wish to steal from the dead, you will join them.</span>" <</if>> + <<elseif $wraith.state is "despair">> + <<if $wraithPrison and $wraithPrison.vision>> + It places a clawed hand on your chest. You can feel a bitter chill in your whole body. You feel the room spin, and your back touch the floor. + <br><br> + "<span class="wraith">I can't find it. It's so cold without my necklace. Won't you keep me warm, <<pcpetname "Wraith">>?</span>" + <<else>> + It scratches at its bare neck, before gently pushing you on your back. It floats down, and comes to rest as it straddles you. + <br><br> + "<span class="wraith">It's so cold without my necklace. Won't you keep me warm, <<pcpetname "Wraith">>?</span>" + <</if>> <<else>> It thumbs its necklace, before gently pushing you on your back. It floats down, and comes to rest as it straddles you. <br><br> @@ -64,7 +80,7 @@ You collapse on the cold stone floor, with your senses slowly returning to you. <</if>> <</if>> Its gaze bores into you, keeping your body weak and unresponsive. -<<if C.npc["Ivory Wraith"].lust gte 12>> +<<if C.npc["Ivory Wraith"].lust gte 12 and $wraith.state is "haunt">> A sadistic smile creeps across its face. <<else>> It seems to hesitate for a moment, as if in thought. @@ -114,6 +130,8 @@ Its gaze bores into you, keeping your body weak and unresponsive. <br><br> <<if $wraith.state is "haunt">> "<span class="wraith">A thief is not one to beg.</span>" It grabs your neck more violently, cutting off your pleas. <<pain 8>><<gpain>> + <<elseif $wraith.state is "despair">> + "<span class="wraith">Did you take it? No, no...</span>" It gives you a profoundly sad frown, before grabbing you by the neck. <<pain 4>><<gpain>> <<else>> "<span class="wraith">I promise endless pleasure. Is this not enough?</span>" It giggles, before grabbing you by the neck. <<pain 4>><<gpain>> <</if>> @@ -121,6 +139,8 @@ Its gaze bores into you, keeping your body weak and unresponsive. You try to pry its hands off of you, to no end. It smiles at you. <<if $wraith.state is "haunt">> "<span class="wraith">Struggle. It will only drown you faster.</span>" + <<elseif $wraith.state is "despair">> + "<span class="wraith">Did you take it? No, no...</span>" <<else>> "<span class="wraith">Save your energy. You will need it.</span>" <</if>> @@ -309,11 +329,17 @@ Its grip on you loosens<<if $wraith.state is "haunt">>, and you gasp for breath< <<else>> "<span class="wraith">The descent begins again. Isn't it beautiful?</span>" <</if>> - <<if $worn.neck.cursed is 1>> - It rests a hand against your $worn.neck.name. There's a flash of light, a deep groaning sound, and the metal is no more. - <<set $worn.neck.type.push("broken")>> - <<neckruined>> - <</if>> + <<elseif $wraith.state is "despair">> + <<if !$wraithPrison.vision>> + "<span class="wraith">Help me find it. See what I've seen. Stay.</span>" + <<else>> + "<span class="wraith">Again. Again. Descending. Where is it?</span>" + <</if>> + <</if>> + <<if $worn.neck.cursed is 1>> + It rests a hand against your $worn.neck.name. There's a flash of light, a deep groaning sound, and the metal is no more. + <<set $worn.neck.type.push("broken")>> + <<neckruined>> <</if>> It floats away from the cell, out of sight. <<tearful>> you look around, trying to think of a way out. The figure is nowhere to be seen. <<set $wraithPrison.timer to 60>> @@ -346,29 +372,53 @@ You are in a submerged prison. Pink mist swirls in the air. <<ghallucinogens>> You see the figure near the staircase leading down. It's flickering. <br><br> <<if $wraith.state is "haunt">> - <<if !$wraithPrison.vision>> - It stares at you with pure anger and hatred. It screams, and begins floating in circles, clawing at its own bare neck and wailing. - <br><br> - It flickers out, only to flicker back right in front of you. It grabs you by the neck, its hand long and clawed. It swiftly drags you to the stairs, and plunges your head under the water. <<stress 24>><<pain 10>><<gpain>><<gstress>> - <br><br> - You struggle against it. It screams. "<span class="wraith">I will show you exactly what you've done. I will find you again, thief. You have not suffered enough. You were not ready.</span>" <<gobsession>> - <br><br> - It flickers backwards. You bring your head back up above the water, and cough. <<tearful>> you stand. The rune at the bottom of the stairs glows again. - <<elseif C.npc["Ivory Wraith"].lust gte 12>> - It stares at you with pure anger. It growls, and begins floating in circles, holding its own neck. - <br><br> - It flickers out, only to flicker back right in front of you. It grabs you by the neck, its hand long and clawed. You're pressed back against the wall. <<stress 12>><<pain 5>><<gpain>><<gstress>> - <br><br> - You struggle against it. It whispers. "<span class="wraith">You've seen it. Do you seek penance? More. More pain, first.</span>" - <br><br> - It flickers backwards. You slide down the wall. <<tearful>> you stand. The rune at the bottom of the stairs glows again. <<lobsession>> - <<else>> - It stares at you with apprehension, before appearing directly in front of you. It brings a clawed hand up, as if to strike you, and you instinctively cover your face. - <br><br> - You instead feel a gentle caress against your cheek. You slowly open your eyes. <span class="green">The clawed hand is gone, replaced by pale, supple skin. You see a faint familiarity in its face.</span> - <br><br> - "<span class="wraith">We're still falling, nowhere near the bottom. But maybe we don't need to reach the bottom.</span>" <<lobsession>> - <</if>> + <<if !$wraithPrison.vision>> + It stares at you with pure anger and hatred. It screams, and begins floating in circles, clawing at its own bare neck and wailing. + <br><br> + It flickers out, only to flicker back right in front of you. It grabs you by the neck, its hand long and clawed. It swiftly drags you to the stairs, and plunges your head under the water. <<stress 24>><<pain 10>><<gpain>><<gstress>> + <br><br> + You struggle against it. It screams. "<span class="wraith">I will show you exactly what you've done. I will find you again, thief. You have not suffered enough. You were not ready.</span>" <<gobsession>> + <br><br> + It flickers backwards. You bring your head back up above the water, and cough. <<tearful>> you stand. The rune at the bottom of the stairs glows again. + <<elseif C.npc["Ivory Wraith"].lust gte 12>> + It stares at you with pure anger. It growls, and begins floating in circles, holding its own neck. + <br><br> + It flickers out, only to flicker back right in front of you. It grabs you by the neck, its hand long and clawed. You're pressed back against the wall. <<stress 12>><<pain 5>><<gpain>><<gstress>> + <br><br> + You struggle against it. It whispers. "<span class="wraith">You've seen it. Do you seek penance? More. More pain, first.</span>" + <br><br> + It flickers backwards. You slide down the wall. <<tearful>> you stand. The rune at the bottom of the stairs glows again. <<lobsession>> + <<else>> + It stares at you with apprehension, before appearing directly in front of you. It brings a clawed hand up, as if to strike you, and you instinctively cover your face. + <br><br> + You instead feel a gentle caress against your cheek. You slowly open your eyes. <span class="green">The clawed hand is gone, replaced by pale, supple skin. You see a faint familiarity in its face.</span> + <br><br> + "<span class="wraith">We're still falling, nowhere near the bottom. But maybe we don't need to reach the bottom.</span>" <<lobsession>> + <</if>> + <<elseif $wraith.state is "despair">> + <<if !$wraithPrison.vision>> + It stares at you with a look of regret. It screams, and begins floating in circles, clawing at its own bare neck and wailing. + <br><br> + It flickers out, only to flicker back right in front of you. It reaches out for your neck, its hand long and clawed. But it stops short. It begins to sob, and collapses before you. + <br><br> + "<span class="wraith">I'm sorry. You were not ready. We must suffer more.</span>" <<gobsession>> + <br><br> + It flickers backwards, away from you. The rune at the bottom of the stairs glows again. + <<elseif C.npc["Ivory Wraith"].lust gte 12>> + It stares at you with anger and regret. It growls, and begins floating in circles, clawing at its own bare neck. + <br><br> + It flickers out, only to flicker back right in front of you. It grabs you by the neck, its hand long and clawed. You're pressed back against the wall. <<stress 12>><<pain 5>><<gpain>><<gstress>> + <br><br> + You struggle against it. It immediately drops you, looking horrified. "<span class="wraith">I'm sorry. It wasn't you. It wasn't you...</span>" <<lobsession>> + <br><br> + It floats backwards. You slide down the wall. <<tearful>> you stand. The rune at the bottom of the stairs glows again. + <<else>> + It stares at you with a look of regret. It flickers out of sight, only to appear right before you. + <br><br> + "<span class="wraith">You've seen it. Have you seen it? Will you help me? You will help me.</span>" <<lobsession>> + <br><br> + It floats backwards, away from you. The rune at the bottom of the stairs glows again. + <</if>> <<else>> "<span class="wraith">My time comes to an end. You will return, next moon.</span>" <<if $parasite.left_ear.name is "slime" or $parasite.right_ear.name is "slime">> @@ -384,14 +434,23 @@ You are in a submerged prison. Pink mist swirls in the air. <<ghallucinogens>> <<clearWraith>> <</if>> <<if _wraithEvent is true>> - <<if $wraith.state is "haunt" and $trauma gte ($traumamax / 10) * 4 and $wraithPrison.timePassed gte 140>> + <<if ["haunt", "despair"].includes($wraith.state) and $trauma gte ($traumamax / 10) * 4 and $wraithPrison.timePassed gte 140>> The pale figure emerges from the ground. You feel your energy being sapped away already. You're pushed into one of the cells and onto a bed of lichen by an unseen force. - <br><br> - It looks you over with a cold gaze, and grabs your cheeks with a clawed hand. - <<if !$wraithPrison.vision>> - "<span class="wraith">You wanted to know, so you stole from the dead. I'll show you what it's like to drown with the corpse of this temple. May your curiosity be sated as the waves chew your bones. <<pcPetname "Wraith">>. <<pcPetname "Wraith">>.</span>" + <br><br> + <<if $wraith.state is "haunt">> + It looks you over with a cold gaze, and grabs your cheeks with a clawed hand. + <<if !$wraithPrison.vision>> + "<span class="wraith">You wanted to know, so you stole from the dead. I'll show you what it's like to drown with the corpse of this temple. May your curiosity be sated as the waves chew your bones. <<pcPetname "Wraith">>. <<pcPetname "Wraith">>.</span>" + <<else>> + "<span class="wraith">Down we go, once again. <<pcPetname "Wraith">>.</span>" + <</if>> <<else>> - "<span class="wraith">Down we go, once again. <<pcPetname "Wraith">>.</span>" + It looks you over with a desperate gaze, and grabs your cheeks with a clawed hand. + <<if !$wraithPrison.vision>> + "<span class="wraith">You must see. You must understand. You must help me. Where is it? <<pcPetname "Wraith">>.</span>" + <<else>> + "<span class="wraith">Help me. Where is it? <<pcPetname "Wraith">>.</span>" + <</if>> <</if>> <br><br> It grabs a handful of lichen from the centre of the large colony, and tilts your head back. It begins to drop the crushed lichen into your mouth. @@ -423,6 +482,15 @@ You are in a submerged prison. Pink mist swirls in the air. <<ghallucinogens>> "You aren't ready to see yet, thief. I will make you ready.", "I will take everything from you. Only then will you understand." )>></span>" + <<elseif $wraith.state is "despair">> + "<span class="wraith"><<print either( + "So cold.", + "I'm sorry.", + "Have you seen it?", + "We must suffer together.", + "<<pcPetname \"Wraith\">>.", + "You are everything I have." + )>></span>" <<else>> "<span class="wraith"><<print either( "Do not resist.", @@ -653,6 +721,10 @@ You push back as much as you can, clashing against its will. It growls, and grabs you by the neck. <br><br> "<span class="wraith">Very well. We do it the hard way, then.</span>" + <<elseif $wraith.state is "despair">> + It frowns, and grabs you by the neck. + <br><br> + "<span class="wraith">We will share everything. Pleasure and pain.</span>" <<else>> It laughs, and places its hands on your shoulders. <br><br> @@ -940,6 +1012,16 @@ Your body is unnaturally warm. <<arousal 600>><<garousal>> <<startWraith>> <br><br> <<link [[Next|Lake Ruin Prison Rape]]>><</link>> + <<elseif $wraith.state is "despair">> + The pale figure looks down at you and frowns. "<span class="wraith">I'm sorry. Can the innocent repent?</span>" + <br><br> + + After some time of staring at you, it pulls away. It sinks back into the floor. + <<endevent>> + <<set $wraithPrison.timer to 30>> + <<set $wraithPrison.state to "recovering">> + <br><br> + <<link [[Next|Lake Ruin Prison]]>><</link>> <<else>> The pale figure looks down at you and frowns. "<span class="wraith">Unimaginable pleasure, beyond any you've felt thus far... is that not what you desire?</span>" It almost sounds disappointed. <br><br> @@ -1065,7 +1147,7 @@ You swim down. It's a long way, and it takes considerable effort. You make it. < You find the glowing rune at the bottom of the stairs. It flashes a bright red as you approach, and the scraping of stone fills the water as the door lowers. <br><br> You swiftly exit, not looking back. -<<if $wraith.state is "haunt" and !$wraithPrison.vision>> +<<if ["haunt", "despair"].includes($wraith.state) and !$wraithPrison.vision>> <<if $wraithPrison.timePassed lt 180>> <span class="blue">You wonder what it would have shown you, had you been "ready". You feel relieved that it didn't have more time to torture you.</span> <<else>> diff --git a/game/overworld-forest/loc-lake/ivory/widgets.twee b/game/overworld-forest/loc-lake/ivory/widgets.twee index 83b5450c74..c6c20585e5 100644 --- a/game/overworld-forest/loc-lake/ivory/widgets.twee +++ b/game/overworld-forest/loc-lake/ivory/widgets.twee @@ -397,7 +397,7 @@ <</widget>> <<widget "wraithEyes">><<silently>> - <<set _text_output to ($wraith.state is "haunt" ? "red" : "blue")>> + <<set _text_output to (["haunt", "despair"].includes($wraith.state) ? "red" : "blue")>> <</silently>><<print _text_output>><</widget>> <<widget "wraithShamble">><<silently>> @@ -706,7 +706,7 @@ )>> <<default>> <</switch>> - <<elseif $wraith.state isnot "haunt" and $rng lte 8 and _args[0] isnot "lines">> + <<elseif $wraith.state is "active" and $rng lte 8 and _args[0] isnot "lines">> <<set _speechWraith to "<<He>> holds <<his>> necklace close.">> <<else>> <<if _args[0] isnot "lines">> @@ -770,7 +770,6 @@ "Give it back.", "Sleep forever.", "Cut you to perfection.", - "Never to see the moon again.", "Wrath wrath ?sin ?sin ?sin ?sin ?sin wrath.", "Water down your shame, until the lake runs dry.", "Shoot for the stars, that you may crash and burn.", @@ -785,6 +784,21 @@ "Can I pretend you're back, if only for a while?" )>> <</if>> + <<if $wraith.state is "despair">> + <<run _linePool.pushUnique( + "Where is it?", + "You're so warm.", + "Don't leave me.", + "I can't find it.", + "So cold.", "So cold.", + "Can the innocent repent?", + "Where did you go? Come back.", + "Never to see the moon again.", + "I see you. I see you. I see through you.", + "Through my closed eyelids, you still glare.", + "Have you seen my necklace?", "Have you seen my necklace?" + )>> + <</if>> <<if C.npc["Ivory Wraith"].lust gte 10>> <<run _linePool.pushUnique( "Safety. Love. What beautiful lies.", @@ -1453,7 +1467,7 @@ <<case "tentacles">><<set _wraithTitle to "writhing">> <<case "abomination">><<set _wraithTitle to "profane">> <<case "arms">><<set _wraithTitle to "vain">> - <<default>><<set _wraithTitle to ($wraith.state is "haunt" ? "forlorn" : "reflection")>> + <<default>><<set _wraithTitle to (["haunt", "despair"].includes($wraith.state) ? "forlorn" : "reflection")>> <</switch>> <</if>> <</if>> @@ -1489,6 +1503,15 @@ <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> <br><br> <</if>> + <<elseif $wraith.state is "despair">> + It then raises a hand to its neck, seemingly trying to grab something that isn't there. Its hand clenches. + <br><br> + "<span class="wraith">It's so cold. You're so warm.</span>" + <br><br> + <<if $parasite.left_ear.name is "slime" or $parasite.right_ear.name is "slime">> + <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> + <br><br> + <</if>> <<else>> It raises a hand to its chest, rubbing its ivory necklace. The glint of the inlaid blue gemstones match its glowing eyes. <br><br> @@ -1647,6 +1670,15 @@ <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> <br><br> <</if>> + <<elseif $wraith.state is "despair">> + It then raises a hand to its neck, seemingly trying to grab something that isn't there. Its hand clenches. + <br><br> + "<span class="wraith">It's so cold. You're so warm.</span>" + <br><br> + <<if $parasite.left_ear.name is "slime" or $parasite.right_ear.name is "slime">> + <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> + <br><br> + <</if>> <<else>> It raises a hand to its chest, rubbing its ivory necklace. The glint of the inlaid blue gemstones match its glowing eyes. <br><br> @@ -1765,6 +1797,15 @@ <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> <br><br> <</if>> + <<elseif $wraith.state is "despair">> + It then raises a hand to its neck, seemingly trying to grab something that isn't there. Its hand clenches. + <br><br> + "<span class="wraith">H...have you seen my necklace?</span>" + <br><br> + <<if $parasite.left_ear.name is "slime" or $parasite.right_ear.name is "slime">> + <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> + <br><br> + <</if>> <<else>> It raises a hand to its chest, rubbing its ivory necklace. The glint of the inlaid blue gemstones match its glowing eyes. <br><br> @@ -1798,6 +1839,10 @@ It holds a clenched hand to its neck, and bares its teeth at you. <br><br> "<span class="wraith">Drown.</span>" + <<elseif $wraith.state is "despair">> + It holds a clenched hand to its neck, and frowns at you. + <br><br> + "<span class="wraith">Where is it? So cold.</span>" <<else>> Its necklace shimmers blue, despite the red moonlight. <br><br> @@ -1811,6 +1856,10 @@ It holds a clenched hand to its scarred neck, and bares its teeth at you. <br><br> "<span class="wraith">Thief. Give it back.</span>" + <<elseif $wraith.state is "despair">> + It holds a clenched hand to its neck, and frowns at you. + <br><br> + "<span class="wraith">H...have you seen my necklace?</span>" <<else>> Its necklace shimmers blue, despite the red moonlight. <br><br> @@ -1838,6 +1887,10 @@ It holds a clenched hand to its neck, and bares its teeth at you. <br><br> "<span class="wraith">Drown.</span>" + <<elseif $wraith.state is "despair">> + It holds a clenched hand to its neck, and smiles at you. + <br><br> + "<span class="wraith"><<pcPetname "Wraith">>. You've returned. Have you seen my necklace?</span>" <<else>> Its necklace shimmers a striking blue, causing reflections in the water all around you. <br><br> @@ -1851,6 +1904,10 @@ It scratches at its bare neck, and regards you with striking red eyes. <br><br> "<span class="wraith">Thief. You've returned. Give it back at once.</span>" + <<elseif $wraith.state is "despair">> + It holds a clenched hand to its neck, and frowns at you. + <br><br> + "<span class="wraith">H...have you seen my necklace?</span>" <<else>> It places a hand over its ivory necklace, as if to guard it from you. <br><br> @@ -1861,7 +1918,7 @@ You suddenly feel like you're walking through waist-high water. Your arms<<if $exposed lte 0>> and clothes<</if>> grow heavy, and your feet don't seem to hit the ground anymore. <br><br> As soon as you look behind you, you feel something violently grab into your neck and lift you clear off the ground. A pale figure stands before you. - <<if $wraith.state is "haunt">> + <<if ["haunt", "despair"].includes($wraith.state)>> It has a hand pressed to its own bare neck, and regards you with striking red eyes. <<else>> Its silver hair flows in a breeze you can't feel. It places its free hand over its necklace. @@ -1869,6 +1926,8 @@ <br><br> <<if $wraith.state is "haunt" or $wraith.offspring is "dead">> "<span class="wraith">Drown.</span>" + <<elseif $wraith.state is "despair">> + "<span class="wraith">So cold. Where is it?</span>" <<else>> "<span class="wraith">You belong to me.</span>" <</if>> diff --git a/game/overworld-forest/loc-wolfpack/main.twee b/game/overworld-forest/loc-wolfpack/main.twee index 905e3cbfeb..2be0562294 100644 --- a/game/overworld-forest/loc-wolfpack/main.twee +++ b/game/overworld-forest/loc-wolfpack/main.twee @@ -440,7 +440,7 @@ You sit on the edge and try to lower yourself down, but the rock gives way and y You slept soundly, but now feel a little rough. <br><br> <<elseif $nightmares gte 1 and $controlled is 0>> - You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. + You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if $specialClothesEffects.bimboTotal gte random(100,1000) or $arousal gte ($arousalmax / 10) * 9>> Your sleep <<if _wakingEffect>>was<<else>>is<</if>> plagued by dirty dreams. diff --git a/game/overworld-plains/loc-bird/main.twee b/game/overworld-plains/loc-bird/main.twee index 4c7306f6ff..81f0b45bbb 100644 --- a/game/overworld-plains/loc-bird/main.twee +++ b/game/overworld-plains/loc-bird/main.twee @@ -1553,7 +1553,7 @@ You sit by the rainwater pool. You slept soundly, but now feel a little rough. <br><br> <<elseif $nightmares gte 1 and $controlled is 0>> - You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. + You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if $specialClothesEffects.bimboTotal gte random(100,1000) or $arousal gte ($arousalmax / 10) * 9>> Your sleep <<if _wakingEffect>>was<<else>>is<</if>> plagued by dirty dreams. @@ -1650,7 +1650,7 @@ You sit by the rainwater pool. <br> <<else>> <<if $nightmares gte 1 and $controlled is 0>> - You dream you are being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. + You dream you are being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if $specialClothesEffects.bimboTotal gte random(100,1000) or $arousal gte ($arousalmax / 10) * 9>> Your sleep is plagued by dirty dreams. diff --git a/game/overworld-plains/loc-farm/cottage.twee b/game/overworld-plains/loc-farm/cottage.twee index 60a53deae4..e53006142f 100644 --- a/game/overworld-plains/loc-farm/cottage.twee +++ b/game/overworld-plains/loc-farm/cottage.twee @@ -293,7 +293,7 @@ You snuggle under the covers. <<else>> <<wakingEffects $sleepHoursTotal>> <<if $nightmares gte 1 and $controlled is 0>> - You dream you are being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. + You dream you are being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if $specialClothesEffects.bimboTotal gte random(100,1000) or $arousal gte 9000>> Your sleep is plagued by dirty dreams. diff --git a/game/overworld-plains/loc-moor/events.twee b/game/overworld-plains/loc-moor/events.twee index 3e617f452c..56683fbfa1 100644 --- a/game/overworld-plains/loc-moor/events.twee +++ b/game/overworld-plains/loc-moor/events.twee @@ -1030,7 +1030,7 @@ You examine the ring. A black gemstone sits surrounded by engravings of what app <<generateWraith 1>><<initWraith>><<rainWraith>> "<span class="wraith">Graverobber.</span>" <br><br> - You snap around to face the voice, and see a beautiful pale figure floating just above the water. <<Hes>> naked,<<if $wraith.state is "haunt">> and scratches at <<his>> own neck.<<else>> save for an ornate white necklace with blue gemstons around <<his>> neck.<</if>> <<if $wraith.seen gte 3>>You immediately try to scramble away.<<else>>You slowly back away.<</if>> A translucent tendril wraps around your leg, lifting you and dropping you flat on your back. + You snap around to face the voice, and see a beautiful pale figure floating just above the water. <<Hes>> naked,<<if ["haunt", "despair"].includes($wraith.state)>> and scratches at <<his>> own neck.<<else>> save for an ornate white necklace with blue gemstons around <<his>> neck.<</if>> <<if $wraith.seen gte 3>>You immediately try to scramble away.<<else>>You slowly back away.<</if>> A translucent tendril wraps around your leg, lifting you and dropping you flat on your back. <br><br> You have the wind knocked out of you. <<pain 4>><<gpain>> <br><br> diff --git a/game/overworld-town/loc-home/main.twee b/game/overworld-town/loc-home/main.twee index 36cb05a2c4..5415a73302 100644 --- a/game/overworld-town/loc-home/main.twee +++ b/game/overworld-town/loc-home/main.twee @@ -804,7 +804,7 @@ You are in the bathroom. <<else>> You dream you are <</if>> - being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. The nightmares are interrupted by a hammering on your door. It's Bailey, waking you for school. + being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. The nightmares are interrupted by a hammering on your door. It's Bailey, waking you for school. <</if>> <br><br> <<set $daily.motherWake to 1>> @@ -815,7 +815,7 @@ You are in the bathroom. <<else>> You dream you are <</if>> - being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. You quickly forget the specifics, but the sense of dread lingers. + being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. You quickly forget the specifics, but the sense of dread lingers. <br><br> <</if>> <<else>> @@ -1021,7 +1021,7 @@ You are in the bathroom. <<else>> You dream you are <</if>> - being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. The nightmares are interrupted by a hammering on your door. It's Bailey, waking you for school. + being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. The nightmares are interrupted by a hammering on your door. It's Bailey, waking you for school. <</if>> <br><br> <<set $daily.motherWake to 1>> @@ -1032,7 +1032,7 @@ You are in the bathroom. <<else>> You dream you are <</if>> - being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. You quickly forget the specifics, but the sense of dread lingers. + being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. You quickly forget the specifics, but the sense of dread lingers. <br><br> <</if>> <<else>> diff --git a/game/overworld-town/loc-pound/abduction.twee b/game/overworld-town/loc-pound/abduction.twee index f5c3c94cd1..c5a92cbc3f 100644 --- a/game/overworld-town/loc-pound/abduction.twee +++ b/game/overworld-town/loc-pound/abduction.twee @@ -1270,7 +1270,7 @@ You lie on the hard floor. You slept soundly, but now feel a little rough. <br><br> <<elseif $nightmares gte 1 and $controlled is 0>> - You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. + You <<if _wakingEffect>>dreamed of<<else>>dream you are<</if>> hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if $specialClothesEffects.bimboTotal gte random(100,1000) or $arousal gte ($arousalmax / 10) * 9>> Your sleep <<if _wakingEffect>>was<<else>>is<</if>> plagued by dirty dreams. diff --git a/game/overworld-town/loc-prison/main.twee b/game/overworld-town/loc-prison/main.twee index 9e948f3c92..40a36332a8 100644 --- a/game/overworld-town/loc-prison/main.twee +++ b/game/overworld-town/loc-prison/main.twee @@ -330,7 +330,7 @@ You lie on your mattress. It's hard to get comfortable<<if ($worn.neck.name is " <<set _autosavehere to true>> <<sleep>><<effects>> <<if $nightmares gte 1 and $controlled is 0>> - You dream you are being hunted by something <<if $wraith.state is "haunt" and $rng lte 25>>pale<<else>>dark<</if>> and terrible. + You dream you are being hunted by something <<if ["haunt", "despair"].includes($wraith.state) and $rng lte 25>>pale<<else>>dark<</if>> and terrible. <<else>> <<if $specialClothesEffects.bimboTotal gte random(100,1000) or $arousal gte 9000>> Your sleep is plagued by dirty dreams. diff --git a/game/overworld-town/loc-street/events.twee b/game/overworld-town/loc-street/events.twee index e6493caccb..5d0eb3d0f4 100644 --- a/game/overworld-town/loc-street/events.twee +++ b/game/overworld-town/loc-street/events.twee @@ -6853,7 +6853,7 @@ You ignore the <<persons>> request and try walk away, but <<he>> blocks your pat You hasten your steps.<<gstress>><<gtrauma>><<stress 6>><<trauma 6>> <br><br> <<elseif _wraithEvent>> - You smile and greet the <<person>> as you walk by.<<if $wraith.state isnot "haunt">> You steal a glance at the ornate necklace around <<his>> neck.<</if>> <<His>> smile becomes wider, and you suddenly grow very anxious. <<He>> looks like <<hes>> getting more pale by the second. You quicken your pace, and you hear footsteps running after you. <<stress 6>><<gstress>> + You smile and greet the <<person>> as you walk by.<<if $wraith.state is "active">> You steal a glance at the ornate necklace around <<his>> neck.<</if>> <<His>> smile becomes wider, and you suddenly grow very anxious. <<He>> looks like <<hes>> getting more pale by the second. You quicken your pace, and you hear footsteps running after you. <<stress 6>><<gstress>> <br><br> You briefly look back, and see <<him>> standing completely still. <<His>> eyes flash <<wraithEyes>> as <<he>> regards you with a mad grin. diff --git a/game/overworld-town/loc-street/widgets.twee b/game/overworld-town/loc-street/widgets.twee index e3e1ed96e6..f80c3f63f8 100644 --- a/game/overworld-town/loc-street/widgets.twee +++ b/game/overworld-town/loc-street/widgets.twee @@ -1567,7 +1567,7 @@ <<npc Kylar>><<person1>>Something tugs your arm. It's Kylar. "H-hi," <<he>> gulps. <<He>> tries to pull you toward a dark alley. "We need privacy. I need you to do things to me." <br><br> - <<if $wraith.state and _wraithEvent and ($wraith.state is "haunt" or ["dead","sold"].includes($wraith.offspring))>> + <<if $wraith.state and _wraithEvent and (["haunt", "despair"].includes($wraith.state) or ["dead","sold"].includes($wraith.offspring))>> <<set $wraith.mimic to "Kylar">><<set $wraith.exit to "town">> <<link [[Go with Kylar|Wraith Mimic Fight]]>><<set $sexstart to 1>><</link>><<promiscuous1>><<gglove>><<llksuspicion>> <br> diff --git a/game/overworld-town/loc-temple/main.twee b/game/overworld-town/loc-temple/main.twee index e9a2966579..61fa84274e 100644 --- a/game/overworld-town/loc-temple/main.twee +++ b/game/overworld-town/loc-temple/main.twee @@ -1552,7 +1552,7 @@ You tell Jordan about the ghostly figure <<if $wraith.state is "haunt">>that's b <br><br> "There's one constant through all their appearances. They always wore a precious piece of jewelry, believed to have divine significance. It was a necklace, -<<if $wraith.state is "haunt">> +<<if ["haunt", "despair"].includes($wraith.state)>> <span class="red">carved from ivory, and set with large sapphires.</span>" <<else>> carved from ivory, and set with large sapphires." diff --git a/game/overworld-town/loc-town-hall/main.twee b/game/overworld-town/loc-town-hall/main.twee index d983aadc84..1edea28af2 100644 --- a/game/overworld-town/loc-town-hall/main.twee +++ b/game/overworld-town/loc-town-hall/main.twee @@ -434,6 +434,9 @@ The receptionist frowns. "I'm not sure what to make of-" <<museumAntiqueStatus "antiqueivorynecklace" "found">> <<museumAntiqueStatus "antiqueivorynecklace" "talk">> <<set $necklaceThief to "diver">> + <<if C.npc["Ivory Wraith"].init is 1>> + <<npcincr "Ivory Wraith" lust 10>> + <</if>> You rise to your feet, and leave the office. "Give Bailey my regards," the mayor shouts after you. <br><br> diff --git a/game/overworld-town/special-nightmares/main.twee b/game/overworld-town/special-nightmares/main.twee index 8ccc614e27..67e48816e3 100644 --- a/game/overworld-town/special-nightmares/main.twee +++ b/game/overworld-town/special-nightmares/main.twee @@ -445,8 +445,10 @@ Heat seeps from your body. Water drips off the figure's hair, onto your face. <<if $wraith.state is "haunt">> "<span class="wraith"><<pcPetname "Wraith">>. You took something of mine. Your warmth is the least you can share.</span>" -<<else>> +<<elseif $wraith.state is "despair">> "<span class="wraith">Lend me your warmth. It's so cold. It's always so cold.</span>" +<<else>> + "<span class="wraith">Lend me your warmth.</span>" <</if>> <br><br> diff --git a/game/overworld-underground/loc-underground/main.twee b/game/overworld-underground/loc-underground/main.twee index 0423a9d141..186d9089e3 100644 --- a/game/overworld-underground/loc-underground/main.twee +++ b/game/overworld-underground/loc-underground/main.twee @@ -263,7 +263,7 @@ You are in an underground cell. You can't see a thing but can tell that the wall <<set $undergroundbrothel.water to 1>> The lights flicker on for a moment. You brace yourself, but your room remains sealed. A dim white light hovers above you. You look, and see a cloaked pale figure looking down to you with <<wraithEyes>> eyes. - <<if $wraith.state isnot "haunt">> + <<if $wraith.state is "active">> It rubs a necklace of ivory around its neck. <</if>> <br><br> @@ -278,6 +278,8 @@ You are in an underground cell. You can't see a thing but can tell that the wall <<else>> "<span class="wraith">Alone. Desolate. Your suffering hasn't ended.</span>" <</if>> + <<elseif $wraith.state is "despair">> + "<span class="wraith">Our suffering isn't over. <<pcPetname "Wraith">>.</span>" <<else>> "<span class="wraith">No one deserves to die in a cage.</span>" <</if>> diff --git a/img/misc/icon/wraithdespair.png b/img/misc/icon/wraithdespair.png new file mode 100644 index 0000000000000000000000000000000000000000..75d204463a5ea03ecc5e140a704cc95ae79f0f29 GIT binary patch literal 1239 zcmV;|1StE7P)<h;3K|Lk000e1NJLTq002M$002M;1^@s6s%dfF00001b5ch_0Itp) z=>Px(k4Z#9RCr$Pn=ecwK@`TX34#OxfdoT?=p_v~K~n@+1UXYtji5;d0#Q+cAZUU> zR8$}kBp}eu1#>}QThRt20?`x+0nwzQ$zASczsv1MUuU+vJ^svMmff8hcE9iU-n^Y% z5?{vjQ!15yMLBe}T1`Yb9>yBWpnnE;P5{2)!^6XYhD}aR4m{rL^@bX}x3}jz9~BXi z5#X!<xN&w|b9&S`W<o$jSQ0`L;H&_A<54?qA_YW*C1GR&oE6}$Z=A^pOG01*oE6}` z-FQ?aSQ8Kn;MMk(O2w3*-}HRBT$aCYTOR}_z&QclJNjXBfsue%fDaP;OoDALuqNQW z$9^n;r$Erk@Y4}6HUaRw|G%I5OhpB+6Wrb1Nte^pQ>%KwngHhn!1Pxv7JVk9(`nfc zN&=h;+Rv5%IFI(B35W&o=6@yt3fqzZ=i!iTKa=w~&*P7sfLH*sMst*%IXO9zp4;2o zvRz(YwlbNsJaPyh-`(ByjX$;=z*ij$;LQpUh8==4Q&UsYq}%Pv_UPzn=xhRq*;xp# z;S-buwGPl`0gV7>1>o3*L&*9#KQ}ig8a+Nf`eIdc6i!Y|Oi25Fzwhe@!I4WeVobRp zGy$JZ09*9o00h83vOJEbQYl~5+~401bP^=Md95FZV6|G6Ly-{>3qTbhBhC(JG0qNh zKaB*99IgM@35W&oDmcvB{M5ycO;1l-Rd}sd%a;o<PBxnz+W+O{Mb0xpoI`NErY}og z%>tYQaABWb0PRBuWMz&up6A!s*TorI0$_8kR+C@z`Mec5AmIA?TH3=Hbmr^jL3y?K zF9ERtwElm7elFrQ8Vz5pYL%DC!JuToX$=dIV<O=8_Ev_#bsGu5`oFURtgNhvVq05V zvMrTLRs<9Zg@I-*EG)?J+1XjE7)PV0rziRK;o)Imzq7M5s~i9Vv}b}>Ilx%~ATyF7 zzX}5hTIGfL7LJYTJloAAU|cNIn{oig)7}-Tb%1jMXwGvo1OfjL<I5SzWOAgKHzf#= z(CKufDXvQ+V0CrXcU>9@uW|r8?~DMP1F&xj1&suD)OHmZ{gAzR9Fy}P6zwpZVZYgI z%8>YmNX-Gx3J`QQU;^L(vhL2#jx>3Gel~@<@BGZnjO-sDAIlabVm8uZA1hKfH#fc< zpw$D$HNl`E@ZkmE*#NNvd$>Zx4Rf6U0&=;WbX{Cr3`9V?-In&3mzP5cz|$YHekPNV z_8<WJ#!65_-&q0hR+zK5?X<|D@YSpBzj>>~$<0mC{O7@eY`^dC%eHfIA=@8b&d_2X zZ=jew7-@P2Ks)1#kTU{s>}&HdXIFNB_ph$52Ic^E9{X@+$$J`|pP!dQyfnwL&p8VF zrtbySO3)brco7uHbMj+_d8Gx;qaA+-z^lnj0Qw>OZ)|MHA^aVF1I5oIXvc(_NJuy@ zK(pDD|M6w#F@HiqO<4{VEorW;tp%zB@U9QzF>ze$V{krhToZI&fPTL(1ZYoBT6Wb6 zBz7XG^XSjt71rx@IR!E`(om_IaKr47a9x1kQXQ)pK}R4i00000NkvXXu0mjf008lO BGEx8l literal 0 HcmV?d00001 -- GitLab From 35eaf6cff3ed7ab14a0aa5a1be43d6fe8a1a8585 Mon Sep 17 00:00:00 2001 From: Purity <purityguydol@gmail.com> Date: Mon, 20 Mar 2023 16:00:34 -0400 Subject: [PATCH 4/6] Fixes --- game/overworld-forest/loc-lake/ivory/widgets.twee | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/game/overworld-forest/loc-lake/ivory/widgets.twee b/game/overworld-forest/loc-lake/ivory/widgets.twee index c6c20585e5..5e7715b0c0 100644 --- a/game/overworld-forest/loc-lake/ivory/widgets.twee +++ b/game/overworld-forest/loc-lake/ivory/widgets.twee @@ -1509,7 +1509,7 @@ "<span class="wraith">It's so cold. You're so warm.</span>" <br><br> <<if $parasite.left_ear.name is "slime" or $parasite.right_ear.name is "slime">> - <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> + <span class="lewd">You feel the slime in your head command you to</span> <span class="red">kneel.</span> <br><br> <</if>> <<else>> @@ -1676,7 +1676,7 @@ "<span class="wraith">It's so cold. You're so warm.</span>" <br><br> <<if $parasite.left_ear.name is "slime" or $parasite.right_ear.name is "slime">> - <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> + <span class="lewd">You feel the slime in your head command you to</span> <span class="red">kneel.</span> <br><br> <</if>> <<else>> @@ -1803,7 +1803,7 @@ "<span class="wraith">H...have you seen my necklace?</span>" <br><br> <<if $parasite.left_ear.name is "slime" or $parasite.right_ear.name is "slime">> - <span class="lewd">You feel the slime in your head command you to</span> <span class="red">give it back.</span> + <span class="lewd">You feel the slime in your head command you to</span> <span class="red">kneel.</span> <br><br> <</if>> <<else>> -- GitLab From bff1067a7f42e59445d13e6df6ce94da03fd5694 Mon Sep 17 00:00:00 2001 From: Purity <purityguydol@gmail.com> Date: Mon, 20 Mar 2023 16:19:47 -0400 Subject: [PATCH 5/6] Condom sprites --- img/ui/condom1.png | Bin 0 -> 593 bytes img/ui/condom2.png | Bin 0 -> 545 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/ui/condom1.png create mode 100644 img/ui/condom2.png diff --git a/img/ui/condom1.png b/img/ui/condom1.png new file mode 100644 index 0000000000000000000000000000000000000000..5cfa7eee4ea22ff8376618190f8cbbc32871e7ef GIT binary patch literal 593 zcmV-X0<QguP)<h;3K|Lk000e1NJLTq0015U0015c1^@s6J20-I0006QNkl<ZNQuQ( zF>b>!3_J&UMWz-o;N}lSKG4N;mI8T00cU8ZW@v!Cp+J|+Ui<;0e@F!gNGE?I9V9uV zL|IN+ptr=4Egs1uDFOe4?5_=eJ-(i#^}CN3#&tDujG)L1^DxW%HPto&`Scp&08lI* z<QJW0qz+=lZ@0@+xtNE>1@8wDAw{R5v|{8vF#uH0PqMK~$OWjj2_l}jhiX-xNhoId zuSfxtIbXI30IZMuZ2MlDl}^hJblMb&^e(XvvpgW50w&efs*JnrHV;Kk-#M*`BcjGh z^0BGDzcIg`-(jJ71;zyT$(2@e+gKwG?3)O=UtsBo{S*pNTA9{MWQLOWRm}>_8e^bs z<q^1kcM}T0Ir50J<1}`N3<rup9;!9bc~Ijd>3{>$_hPDpkNi}pKo5n;UfRoyIHvQ( zPEbU8nGs8=?nz@4i^4|TA1)q7MO?RsG|>pqY|-ar#B9@us9A<O%>tm+9^61ExuosT zpiphY((LxLJ+`IT4aA+xZd2VJ;9n4wR`3;!r4ukws<r{_bQAm7kyA2>d@O=NLYxcw zczxVwRF`rwzqruq_7EN}?ywjeaX*J`>YXzZ8DMTQ(NoPrwT*neb>z`P@&Eh9W(z1* zh}+Fhu4;)?8VYP(An%FDG;|2=)$8Lv1D2=Ci%f#=%yzRAzcV&D#E1b|$09F8?}rFt fh-&;7#)t3&0N!T!(@lPx00000NkvXXu0mjf@<R>V literal 0 HcmV?d00001 diff --git a/img/ui/condom2.png b/img/ui/condom2.png new file mode 100644 index 0000000000000000000000000000000000000000..0cc6dc5f01174050f3f34892fb89b68e040140d2 GIT binary patch literal 545 zcmV++0^a?JP)<h;3K|Lk000e1NJLTq0015U0015c1^@s6J20-I0005#Nkl<ZNQuQ( zF>V4e5ZvP#R75(-;ScCOKtr7-Qr>_B1*y{H8)>Mo;RC1q;bO@WsrUvd&g-oAc5NRK z%18(wtUaFH@%jM%2^9|BAD*t8W_fqQ$B)-45F@Fn&2PlKPOorr`8bU6u+9eZ834fk ze5~58&y#VK#?R{zi;8CeEX`9EOX1=oLI42Mtl{hV?HY)K;>4o1JB?B&l4aJAYuv2m zg{GDO)e1mzSuw>F($!-4%xf__X~lkmb#|NquLj+Th~id@;rsJjRF34)Io=(%5kWL5 zQD5uqa1=Ayp^9TyU)-RmJB?JPfagD&hsw!Z>grhW%O*)MQY6)pmxyFeuQBahInvAq zZgMp@PuAJoKzu$U1&}(|t<W~7)L1>oxNB|qDQG22DyBqXoNJYcOi4^_WW`9NsV_kk z%bJaKR#t3kqdU7qHI4D(w(G-~Di+VNrZCx^ygIsZ={f6a>C&*yj;}}G=_HZ>e=jE$ z(+O?Y!(WaW&yebB+%<kS%~DjJL)-PDS0?pp?sP2!`2X&(Ro_G=^=c#zHxMbsC|)ui zyI#xRKo|jzL;Y}3&Fv+Mxw4yYD-M!+JW@0K0To+k)jl1bwUic+B2Q$llFd`6W0p#f jUEB4rKOd`X;63pJ+_;9L4{bxL00000NkvXXu0mjf0I2{& literal 0 HcmV?d00001 -- GitLab From 3e735f44ce12cc9811b723effe6b43f6498fb683 Mon Sep 17 00:00:00 2001 From: Purity <purityguydol@gmail.com> Date: Mon, 20 Mar 2023 19:33:32 -0400 Subject: [PATCH 6/6] Time fixes --- game/overworld-town/loc-alley/park.twee | 4 ++-- game/overworld-town/loc-school/widgets.twee | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/game/overworld-town/loc-alley/park.twee b/game/overworld-town/loc-alley/park.twee index 075dcd9a48..4340416232 100644 --- a/game/overworld-town/loc-alley/park.twee +++ b/game/overworld-town/loc-alley/park.twee @@ -164,8 +164,8 @@ Tulips grow in great patches near the riverbank. <<link [[Robin's hot chocolate stand|Robin Chocolate]]>><</link>> <br> <</if>> - <<if $NPCName[$NPCNameList.indexOf("Kylar")].state is "active" and !["rain", "snow"].includes($weather) and Time.dayState is "day" and $kylarwatched isnot 1>> - <<if Time.schoolDay isnot 1 or Time.hour lte 8 or Time.hour gte 15>> + <<if $NPCName[$NPCNameList.indexOf("Kylar")].state is "active" and !["rain", "snow"].includes($weather) and Time.dayState is "day" and $kylarwatched isnot 1 and !($englishPlay is "ongoing" and $englishPlayRoles.Kylar and $schoolstate is "afternoon")>> + <<if !Time.schoolDay or Time.hour lte 8 or Time.hour gte 15>> <<if $kylar.fountain is 1>> <br> Kylar sits at the fountain, occasionally tossing coins in. diff --git a/game/overworld-town/loc-school/widgets.twee b/game/overworld-town/loc-school/widgets.twee index fc2e9e38e6..45300a42f3 100644 --- a/game/overworld-town/loc-school/widgets.twee +++ b/game/overworld-town/loc-school/widgets.twee @@ -2683,7 +2683,7 @@ <br> <</if>> <<else>> - <<if (Time.schoolDay isnot 1 or $schoolstate is "early" or $schoolstate is "late")>> + <<if (!Time.schoolDay or $schoolstate is "early" or $schoolstate is "late")>> <<if $studyBooks.stolen is "none">> <<if $studyBooks.rented isnot "science">> <<link [[Steal a science textbook|Book Rental]]>><<set $bookRent to "steal">><<set $studyBooks.stolen to "science">><</link>><<crime>><<note "+ Passive Science" "green">> -- GitLab